题目描述
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
样例
示例 1:
输入: "hello"
输出: "holle"
示例 2:
输入: "leetcode"
输出: "leotcede"
说明:
元音字母不包含字母"y"。
C++ 代码
class Solution {
public:
bool findVowels(char x)
{
if(x != 'a' && x != 'A' && x != 'e' && x != 'E' && x != 'i' && x != 'I' && x != 'o' && x != 'O' && x != 'u' && x != 'U')
return true;
else
return false;
}
string reverseVowels(string s) {
if(s.empty()) return s;
int l = 0, r = s.size() - 1;
while( l < r )
{
while(l < s.size() && findVowels(s[l]))
l++;
while(r >= 0 && findVowels(s[r]))
r--;
// cout << l << " " << r << endl;
if(l < r && l < s.size() && r >= 0)
swap(s[l++], s[r--]);
}
return s;
}
};