345. Reverse Vowels of a String
做题历程:
- 应该做了不止两次了,本次大概耗时8分钟,独立解出
本题难度算是比较低的,就是用双指针分别从左右两遍扫描即可,代码如下:
class Solution {
public:
string reverseVowels(string s) {
int left = 0;
int right = s.length() - 1;
while (left < right) {
if (tolower(s[left]) != 'a' && tolower(s[left]) != 'e' && tolower(s[left]) != 'i' && tolower(s[left]) != 'o' && tolower(s[left]) != 'u') {
++left;
}
else if (tolower(s[right]) != 'a' && tolower(s[right]) != 'e' && tolower(s[right]) != 'i' && tolower(s[right]) != 'o' && tolower(s[right]) != 'u') {
--right;
}
else {
swap(s[left++], s[right--]);
}
}
return s;
}
};