LeetCode刷题——按奇偶排序数组和反转字符串中的元音字母

按奇偶排序数组

来源:力扣(LeetCode)

链接:力扣

给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。

返回满足此条件的 任一数组 作为答案。

示例 1:

输入:nums = [3,1,2,4]

输出:[2,4,3,1]

解释:[4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。

示例 2:

输入:nums = [0]

输出:[0]

解答:

class Solution {

    public int[] sortArrayByParity(int[] A) {

        if(A == null || A.length == 1)

            return A;

        int left = 0;

        int right = A.length - 1;

        int tem;

        while(left < right){            

            if((A[left] & 1) == 1 && (A[right] & 1) == 0){

                tem = A[left];

                A[left] = A[right];

                A[right] = tem;

            }

            while((A[left] & 1) == 0){               

                left++;

            }

            while((A[right] & 1) == 1){               

                right--;

            }

        }

        return A;

    }

}

反转字符串中的元音字母

来源:力扣(LeetCode)

链接:力扣

给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。

元音字母包括 'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现。

示例 1:

输入:s = "hello"

输出:"holle"

示例 2:

输入:s = "leetcode"

输出:"leotcede"

解答:

class ReverseVowelsSolution {

    public String reverseVowels(String s) {

        List vowels=new ArrayList();

        vowels.add('a');

        vowels.add('e');

        vowels.add('i');

        vowels.add('o');

        vowels.add('u');


        char[] tempArr=s.toCharArray();

        int len=s.length();

        int i=0,j=len-1;

        while (j>i){

            char left=tempArr[i];

            char right=tempArr[j];

            if(!(vowels.contains(left)||vowels.contains((char)(left+32)))){

                i++;

                continue;

            }


            if(!(vowels.contains(right)||vowels.contains((char)(right+32)))){

                j--;

                continue;

            }

            tempArr[i]=right;

            tempArr[j]=left;

            i++;

            j--;


        }

        return new String(tempArr);

    }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值