Can Make Palindrome from Substring LeetCode solution in C++

1
class Solution {
2
public:
3
vector<bool> canMakePaliQueries(string s, vector<vector<int>> &queries) {
4
vector<vector<int>> table(s.size(), vector<int>(26, 0));
5
vector<bool> ans;
6

7
table[0][s[0] - 'a']++;
8
for (int i = 1; i != s.size(); i++) {
9
for (int j = 0; j != 26; j++) table[i][j] = table[i - 1][j];
10
table[i][s[i] - 'a']++;
11
}
12

13
for (auto &q : queries) {
14
int odd = 2 + (q[2] << 1);
15
for (int i = 0; i != 26; i++) {
16
int val = table[q[1]][i] - (q[0] ? table[q[0] - 1][i] : 0);
17
if ((val & 1) && --odd == 0) {
18
ans.push_back(false);
19
goto mark;
20
}
21
}
22

23
ans.push_back(true);
24
mark:;
25
}
26

27
return ans;
28
}
29
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0