mirror of
https://github.com/ShusenTang/LeetCode.git
synced 2024-09-02 14:20:01 +00:00
759 B
759 B
345. Reverse Vowels of a String
思路
翻转字符串中的元音字母,即A、E、I、O、U、a、e、i、o、u。常规题
C++
class Solution {
private:
bool isVowel(char c){
if('A' <= c && c <= 'Z') c = c - 'A' + 'a';
if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') return true;
return false;
}
public:
string reverseVowels(string s) {
int low = 0, high = s.size() - 1;
while(low < high){
while(low < high && !isVowel(s[low])) low++;
while(low < high && !isVowel(s[high])) high--;
if(low < high) swap(s[low++], s[high--]);
}
return s;
}
};