这篇文章主要为大家展示了“LeetCode如何反转字符串中的元音字母”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“LeetCode如何反转字符串中的元音字母”这篇文章吧。
1,问题简述
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
2,示例
示例 1:
输入:"hello"
输出:"holle"
示例 2:
输入:"leetcode"
输出:"leotcede"
提示:
元音字母不包含字母 "y" 。
3,题解程序
双指针的使用
4,题解程序
import java.util.HashSet;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ReverseVowelsTest {
public static void main(String[] args) {
String s = "hello";
String reverseVowels = reverseVowels(s);
System.out.println("reverseVowels = " + reverseVowels);
}
public static String reverseVowels(String s) {
HashSet<Character> hashSet = new HashSet<>(Stream.of('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U').collect(Collectors.toList()));
if (s == null || s.length() == 0) {
return s;
}
int i = 0;
int j = s.length() - 1;
char[] result = new char[s.length()];
while (i <= j) {
char ci = s.charAt(i);
char cj = s.charAt(j);
if (!hashSet.contains(ci)) {
result[i++] = ci;
} else if (!hashSet.contains(cj)) {
result[j--] = cj;
} else {
result[i++] = cj;
result[j--] = ci;
}
}
return new String(result);
}
}
5,题解程序图片版
以上是“LeetCode如何反转字符串中的元音字母”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。