首页 > 其他 > 详细

LeetCode-Reverse Vowels of a String

时间:2016-07-19 09:33:15      阅读:227      评论:0      收藏:0      [点我收藏+]
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".
public class Solution {
    private final char[] vowels={‘a‘, ‘e‘, ‘i‘, ‘o‘, ‘u‘, ‘A‘, ‘E‘, ‘I‘, ‘O‘, ‘U‘};
    public String reverseVowels(String s) {
        char[] sArray=s.toCharArray();
        
        int l=0; 
        int r=sArray.length-1;
        while(l<r){
            if(isVowel(sArray[l]) && isVowel(sArray[r])){
                char temp=sArray[l];
                sArray[l]=sArray[r];
                sArray[r]=temp;
                
                r--;
                l++;
            }
            else if(isVowel(sArray[l])){
                r--;
            }
            else if(isVowel(sArray[r])){
                l++;
            }
            else{
                l++;
                r--;
            }
        }
        return new String(sArray);
        
    }
    
    public boolean isVowel(char c){
        for(int i=0; i<vowels.length; i++){
            if(c==vowels[i]){
                return true;
            }
        }
        return false;
    }
}

 

LeetCode-Reverse Vowels of a String

原文:http://www.cnblogs.com/incrediblechangshuo/p/5683310.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!