905. Sort Array By Parity

Given an array A of non-negative integers, return an array consisting of all the even elements of A, followed by all the odd elements of A.

You may return any answer array that satisfies this condition.

Example 1:

Input: [3,1,2,4]
Output: [2,4,3,1]
The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.

Note:

  1. 1 <= A.length <= 5000
  2. 0 <= A[i] <= 5000

题目地址

这题相当简单,我用了一个额外的数组来存储结果,使用两个指针,一个从前往后,指明插入偶数的位置,一个从后往前,指明奇数插入的位置。

java代码

class Solution {
    public int[] sortArrayByParity(int[] A) {
        int[] result = new int[A.length];
        int i=0;
        int j=A.length-1;
        for(int x:A){
            if(x%2==0){
                result[i++]=x;
            }else{
                result[j--]=x;
            }
        }
        return result;
    }
}

liuqinh2s
42 声望13 粉丝

认真写代码,搞创作