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
;
}
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-vowels-of-a-string 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。