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

    题目链接:https://leetcode-cn.com/problems/reverse-vowels-of-a-string/

    代码:

    class Solution {
        public String reverseVowels(String s) {
            Character[] c = {'a','e','i','o','u','A','E','I','O','U'};
            HashSet<Character> chars = new HashSet<>(Arrays.asList(c));
            char[] result = new char[s.length()];
            int i = 0;
            int j = s.length()-1;
            while(i <= j) {
                Character ci = s.charAt(i);
                Character cj = s.charAt(j);
                if(chars.contains(ci) == false) {
                    result[i] = ci;
                    i++;
                }else if(chars.contains(cj) == false) {
                    result[j] = cj;
                    j--;
                }else {
                    result[j] = ci;
                    result[i] = cj;
                    i++;
                    j--;
                }
            }
            return new String(result);
        }
    }

    题解:

      把所有的元音字母放在一个数组中,别忘了要分大写和小写两种情况,把数组封装成一个集合,这样方便以后进行判断操作。

      然后分别从字符串的两个方向进行判断,直到出现两端都是元音字母的情况,否则都直接把字母写进返回的字符数组。

      当出现两端都是元音字母时,就进行交换。

  • 相关阅读:
    P1127
    CF274D
    BZOJ1477: 青蛙的约会
    BZOJ2770: YY的Treap
    2017-10-湖南套题2
    BZOJ——2697: 特技飞行
    洛谷——P1621 集合
    2017-10-湖南套题1
    项目包结构初始化
    Maven的pom文件配置
  • 原文地址:https://www.cnblogs.com/rao11/p/11864946.html
Copyright © 2011-2022 走看看