0%

345. Reverse Vowels of a String

O(n) time O(1) space

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public:
string reverseVowels(string s) {
bool m[256] = {false};
for (char v : "aeiouAEIOU") {
m[v] = true;
}
int n = size(s), l = 0, r = n - 1;
while (l < r) {
while (l < r && !m[s[l]]) ++l;
while (l < r && !m[s[r]]) --r;
swap(s[l++], s[r--]);
}
return s;
}
};