题解
这题并没有很难,只要用两个指针,一个从头开始走,一个从尾巴开始走,然后碰到元音就停下来交换就好了
代码
class Solution
{
public:
string reverseVowels(string s)
{
int i=0;
int j=s.size()-1;
while(i<j)
{
while(i<j&&s[i]!='a'&&s[i]!='e'&&s[i]!='i'&&s[i]!='o'&&s[i]!='u'
&&s[i]!='A'&&s[i]!='E'&&s[i]!='I'&&s[i]!='O'&&s[i]!='U')
++i;
while(i<j&&s[j]!='a'&&s[j]!='e'&&s[j]!='i'&&s[j]!='o'&&s[j]!='u'
&&s[j]!='A'&&s[j]!='E'&&s[j]!='I'&&s[j]!='O'&&s[j]!='U')
--j;
if(i<j)swap(s[i],s[j]);
++i;--j;
}
return s;
}
};
感谢您的观看