Camelcase Matching LeetCode solution in C++

1
class Solution {
2
public:
3
vector<bool> camelMatch(vector<string> &queries, string pattern) {
4
vector<bool> res(queries.size());
5

6
for (int i = 0; i < queries.size(); i++) {
7
int patRef = 0;
8
bool isCamel = true;
9

10
for (const char &ltr : queries[i]) {
11
if (patRef == pattern.size()) {
12
if (isupper(ltr)) {
13
isCamel = false;
14
break;
15
}
16
} else {
17
if (isupper(ltr) and isupper(pattern[patRef]) and ltr != pattern[patRef]) {
18
isCamel = false;
19
break;
20
} else if (islower(ltr) and islower(pattern[patRef]) and ltr == pattern[patRef])
21
patRef++;
22
else if (ltr == pattern[patRef])
23
patRef++;
24
}
25
}
26

27
if (patRef == pattern.size() and isCamel) res[i] = true;
28
}
29

30
return res;
31
}
32
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0