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,题解程序图片版
6,总结
自己目前还处于一直在输出内容的道路上,等需要的时候,自己会单独写一篇自己的总结分享给到需要的人,这样可能会对大家有所帮助,其实现在想说的是,当自己实习时,觉得会做项目,就是应用层层面的内容,觉得很了不起,那个时候觉得写代码是一种多么值得令人高兴的事情了,但是随着你自己对开发的认知,慢慢你会感觉自己以前很无知啊,这或许对于自己就是进步的一面,慢慢地随着自己内心的脚步去走吧,这样或许对于你自己有一点好处的,或许也不会,未来未知