编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入: “hello”
输出: “holle”
示例 2:
输入: “leetcode”
输出: “leotcede”
使用双指针遍历一遍即可
bool checkchar(char c)
{
return c == 'a' | c == 'e' | c == 'i' | c == 'o' | c == 'u' |
c == 'A' | c == 'E' | c == 'I' | c == 'O' | c == 'U';
}
char* reverseVowels(char* s) {
int len = strlen(s);
int i = 0,j = len -1;
while(i < j)
{
while(i < j && !checkchar(s[i]))//找到左边的元音字母
{
i++;
}
while(i < j && !checkchar(s[j]))//找到右边的元音字母
{
j--;
}
if(i < j)
{
char tmp = s[i];//交换左右元音字母
s[i] = s[j];
s[j] = tmp;
i++;j--;
}
}
return s;
}