思路:搞清元音字母有哪些的情况下就变成了很简单的问题了,前后双指针遍历判断,进行交换
class Solution
{
public:
string reverseVowels(string s)
{
if(s.empty()) return s;
int p1=0;
int p2=s.size()-1;
while(p1<=p2)
{
if(check(s[p1])&&!check(s[p2]))
p2--;
else if(!check(s[p1])&&check(s[p2]))
p1++;
else if(check(s[p1])&&check(s[p2]))
swap(s[p1++],s[p2--]);
else p1++,p2--;
}
return s;
}
bool check(char c)
{
if(c=='a'||c=='e'||c=='u'||c=='i'||c=='o'||c=='A'||c=='E'||c=='U'||c=='I'||c=='O')
return true;
else
return false;
}
};