编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入: "hello"
输出: "holle"
示例 2:
输入: "leetcode"
输出: "leotcede"
说明:
元音字母不包含字母"y"。
思路:
将元音字母的对应下标存到数组中,最后依据数组交换头尾
代码:
class Solution {
public:
string reverseVowels(string s) {
vector<int> t;
for(int i=0;i<s.length();i++)
{
if(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' )
t.push_back(i);
}
char temp;
for(int i=0;i<t.size()/2;i++)
{
temp=s[t[i]];
s[t[i]]=s[t[t.size()-i-1]];
s[t[t.size()-i-1]]=temp;
}
return s;
}
};