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

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

2020年6月18日

题目来源:力扣

在这里插入图片描述

解题

  • 双指针
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;
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41541562/article/details/106824720