概述
给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。
元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’,且可能以大小写两种形式出现。
示例 1:
输入:s = “hello”
输出:“holle”
示例 2:
输入:s = “leetcode”
输出:“leotcede”
提示:
1 <= s.length <= 3 * 105
s 由 可打印的 ASCII 字符组成
方法一、
定义左右两个指针同时遍历,如果左指针是原音字母则开始查找右指针对应的原音字母,存在则交换位置,不存直接返回;以此循环直到右指针的值大于左指针说明遍历完成
public String reverseVowels(String s) {
char[] chars = s.toCharArray();
int left = 0;
int right = s.length() - 1;
String targetChar = "aeiouAEIOU";
while(right > left){
//判断左指针对应的值是否原音
if(targetChar.indexOf(chars[left]) >= 0){
//找到左边第一个原音之后需要找到右边第一个原音
//如果没找到说明只存在当前做指针一个原音
//否则交换左边和右边原音字母,结束右边原音字母的循环查找,再次寻找左边的原音字母
while(right > left){
if(targetChar.indexOf(chars[right]) >= 0){
char temp = chars[right];
chars[right] = chars[left];
chars[left] = temp;
right--;
break;
}
right--;
}
}
left++;
}
return new String(chars);
}
转载于:https://www.ycblog.top/article?articleId=152&pageNum=1
最后
以上就是友好野狼为你收集整理的leetCode 反转字符串中的元音字母的全部内容,希望文章能够帮你解决leetCode 反转字符串中的元音字母所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复