码迷,mamicode.com
首页 > 其他好文 > 详细

双指针---反转字符串中的元音字符

时间:2019-06-28 19:39:47      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:arrays   反转字符串   evo   public   java   cte   rac   return   尾到头   

反转字符串中的元音字符

345. Reverse Vowels of a String (Easy)

Given s = "leetcode", return "leotcede"

题目描述:

??给定一个字符串,将字符串中的元音字母交换,返回交换后的字符串。

思路分析:

??使用双指针指向待反转的两个元音字符,一个指针从头向尾进行遍历,一个指针从尾到头遍历。

代码:

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

双指针---反转字符串中的元音字符

标签:arrays   反转字符串   evo   public   java   cte   rac   return   尾到头   

原文地址:https://www.cnblogs.com/yjxyy/p/11104389.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!