zoukankan      html  css  js  c++  java
  • 0345. Reverse Vowels of a String (E)

    Reverse Vowels of a String (E)

    题目

    Write a function that takes a string as input and reverse only the vowels of a string.

    Example 1:

    Input: "hello"
    Output: "holle"
    

    Example 2:

    Input: "leetcode"
    Output: "leotcede"
    

    Note:
    The vowels does not include the letter "y".


    题意

    只将字符串中的元音字母逆置。

    思路

    Two Pointers。只将元音字母两两交换。


    代码实现

    Java

    class Solution {
        public String reverseVowels(String s) {
            char[] array = s.toCharArray();
            Set<Character> set = Set.of('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U');
            int left = 0, right = s.length() - 1;
            while (left < right) {
                while (left < right && !set.contains(array[left])) {
                    left++;
                }
                while (left < right && !set.contains(array[right])) {
                    right--;
                }
                if (left < right) {
                    char tmp = array[left];
                    array[left++] = array[right];
                    array[right--] = tmp;
                }
            }
            return new String(array);
        }
    }
    
  • 相关阅读:
    oracle 锁查询
    ORACLE 本session产生的redo
    UML
    面向对象
    设计思维
    程序员习惯
    程序员修炼之道
    架构指南
    微服务架构
    测试用例
  • 原文地址:https://www.cnblogs.com/mapoos/p/13200881.html
Copyright © 2011-2022 走看看