给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。
元音字母包括 'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现不止一次。
class Solution {
public:
string reverseVowels(string s) {
string temp ="aeiouAEIOU";
int i =0,j=s.size()-1;
while( i<j)
{
while(temp.find(s[i])==-1&&i<j)
{
i++;
}
while(temp.find(s[j])==-1&&i<j)
{
j--;
}
if(i<j)
swap(s[i++],s[j--]);
}
return s;
}
};
思路
从前往后从后往前分两路先找元音再交换。