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

    题目描述:给定一个字符串,将给定字符串中的元音字符反转位置。

    题目分析:使用双指针指向待反转的两个元音字符,一个指针从头向尾遍历,一个指针从尾到头遍历。

    代码如下:

    public class DoublePointer {
        private final static HashSet<Character> vowels = new HashSet<>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));
    
        public static void main(String[] args){
            String given = "jinagreakg";
            System.out.println(given);
            System.out.println(reverseVowels(given));
        }
    
        public static String reverseVowels(String s) {
            int i = 0, j = s.length() - 1;
            char[] result = new char[s.length()];
            while (i <= j) {
                char ci = s.charAt(i);
                char cj = s.charAt(j);
                if (!vowels.contains(ci)) {
                    result[i++] = ci;
                } else if (!vowels.contains(cj)) {
                    result[j--] = cj;
                } else {
                    result[i++] = cj;
                    result[j--] = ci;
                }
            }
            return new String(result);
        }
    }

    执行结果:

    jinagreakg
    janegraikg

  • 相关阅读:
    beta版本冲刺七
    beta版本冲刺六
    beta版本冲刺五
    beta版本冲刺四
    beta版本冲刺三
    Beta版本冲刺(二)
    项目评测
    beta版本冲刺(一)
    福大软工 · 最终作业
    福大软工 · 第十二次作业
  • 原文地址:https://www.cnblogs.com/earthhouge/p/10070928.html
Copyright © 2011-2022 走看看