题目

https://leetcode-cn.com/problems/sort-array-by-parity/

方法

利用双指针。目的是让a指向奇数,b指向偶数,交换。

代码

class Solution {
    public int[] sortArrayByParity(int[] nums) {
        int n=nums.length;
        if(n==1) return nums;
        int a=0,b=0;
        while(a<=b&&a<n&&b<n){
            if(nums[a]%2==0){
                a++;
                b++;
            }
            else{
                if(nums[b]%2==1){
                    b++;
                }
                else{
                    int tmp=nums[a];
                    nums[a]=nums[b];
                    nums[b]=tmp;
                    a++;
                    b++;
                }
            }
        }
        return nums;
    }
}