Leetcode 345. 反转字符串中的元音字母 C++
Leetcode 345. 反转字符串中的元音字母
题目
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
测试样例
示例 1:
输入: "hello" 输出: "holle"
示例 2:
输入: "leetcode" 输出: "leotcede"
说明:
元音字母不包含字母"y"。
题解
双指针,头尾指针找元音字母,交换即可。详细过程见代码
代码
bool isY(char x){ if(x>=A && x<=Z) x += a-A; return x==a || x==e || x==i || x==o || x==u; } string reverseVowels(string s) { int i=0,j=s.length()-1; while(i < j){ if(isY(s[i]) && isY(s[j])){ swap(s[i],s[j]); i++; j--; }else if(isY(s[i])){ j--; }else if(isY(s[j])){ i++; }else{ i++; j--; } } return s; }
上一篇:
IDEA上Java项目控制台中文乱码