zoukankan      html  css  js  c++  java
  • LeetCode-Reverse Vowels of a String

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

    Example 1:
    Given s = "hello", return "holle".

    Example 2:
    Given s = "leetcode", return "leotcede".

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

    Solution:

    public class Solution {
        public String reverseVowels(String s) {
            if (s.length()<=1) return s;
            
            HashSet<Character> vowels = new HashSet<Character>();
            vowels.add('a');
            vowels.add('e');
            vowels.add('i');
            vowels.add('o');
            vowels.add('u');
            vowels.add('A');
            vowels.add('E');
            vowels.add('I');
            vowels.add('O');
            vowels.add('U');
            
            char[] sArr = s.toCharArray();
            int p1 = 0, p2=s.length()-1;
            while (p1<p2){
                while (p1<p2 && !vowels.contains(sArr[p1])) p1++;
                while (p1<p2 && !vowels.contains(sArr[p2])) p2--;
                
                char temp = sArr[p1];
                sArr[p1++] = sArr[p2];
                sArr[p2--] = temp;
            }
            
            return new String(sArr);
        }
    }
  • 相关阅读:
    zabbix:乱码问题
    zabbix--微信报警(未完成)
    ansible-playbook项目(4)
    ansible-playbook(3)
    备份和校验脚本-邮件通知
    rsync
    keepalived
    双机热备
    nginx负载均衡
    LNMP(5)
  • 原文地址:https://www.cnblogs.com/lishiblog/p/5870506.html
Copyright © 2011-2022 走看看