2018-10-04 15:37:29 +00:00
|
|
|
|
# [345. Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/description/)
|
|
|
|
|
# 思路
|
|
|
|
|
翻转字符串中的元音字母,即A、E、I、O、U、a、e、i、o、u。常规题
|
|
|
|
|
# C++
|
2019-09-13 15:08:41 +00:00
|
|
|
|
```C++
|
2018-10-04 15:37:29 +00:00
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
```
|