zoukankan      html  css  js  c++  java
  • 345. 反转字符串中的元音字母

    编写一个函数,以字符串作为输入,反转该字符串中的元音字母。

    示例 1:

    输入: "hello"
    输出: "holle"
    示例 2:

    输入: "leetcode"
    输出: "leotcede"
    说明:
    元音字母不包含字母"y"。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/reverse-vowels-of-a-string

    思路:

    双指针,一个从头开始遍历,一个从尾开始遍历,当有一处遍历到元音字母就停下等另一边当两边都找到了元音字母就交换呗。

    class Solution {
        public String reverseVowels(String s) {
            if (s == null) return null;
            HashSet<Character> arr = new HashSet<>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));
            //定义一个左指针
            int left = 0;
            //定义一个右指针
            int right = s.length() - 1;
            char [] res = new char[right + 1];
            while(left <= right){
                char cleft = s.charAt(left);
                char cright = s.charAt(right);
                if (!arr.contains(cleft)){
                    res[left++] = cleft;
                }
                if (!arr.contains(cright)){
                    res[right--] = cright;
                }
                if (arr.contains(cleft) && arr.contains(cright)){
                    res[left++] = cright;
                    res[right--] = cleft;
                }
            }
            return new String(res);
        }
    }
  • 相关阅读:
    maven引入tomcat插件
    Maven更新jdk1.7
    ehcashe
    response的json
    ajax
    180411
    清空select标签中option选项
    jackson
    ajax
    mysql主从
  • 原文地址:https://www.cnblogs.com/zzxisgod/p/13335009.html
Copyright © 2011-2022 走看看