LeetCode80|反转字符串中的元音字母

时间:2022-07-26
本文章向大家介绍LeetCode80|反转字符串中的元音字母,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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,总结

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