LeetCode—反转字符串中的元音字母(双指针)

反转字符串中的元音字母(简单)

2020年6月18日

题目来源:力扣

LeetCode—反转字符串中的元音字母(双指针)_第1张图片

解题

  • 双指针
class Solution {
    public String reverseVowels(String s) {
        if(s==null || s.length()==0) return s;
        int l=0;
        int r=s.length()-1;
        char[] cc=s.toCharArray();
        while(l<r){
            if(isyuanyin(cc[l]) || isyuanyin(cc[r])){
                if(isyuanyin(cc[l]) && isyuanyin(cc[r])){
                    char ch=cc[r];
                    cc[r]=cc[l];
                    cc[l]=ch;
                    l++;
                    r--;
                }
                else if(isyuanyin(cc[l]))
                    r--;
                else if(isyuanyin(cc[r]))
                    l++;
            }
            else{
                l++; r--;
            }
        }
    return new String(cc);
    }
    public boolean isyuanyin(char ch){
        if(ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u'||ch=='A'||ch=='E'||ch=='I'||ch=='O'||ch=='U')
            return true;
        return false;
    }
}

LeetCode—反转字符串中的元音字母(双指针)_第2张图片

你可能感兴趣的:(LeetCode)