給定一個非負整數數組 A,返回一個數組,在該數組中, A 的所有偶數元素之後跟着所有奇數元素。
你可以返回滿足此條件的任何數組作爲答案.
示例
輸入:[3,1,2,4]
輸出:[2,4,3,1]
輸出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也會被接受。
提示
1 <= A.length <= 5000
0 <= A[i] <= 5000
Java
思路
1、定義兩個指針p,k,分別指向數組的第一個元素和最後一個元素。
2、遍歷新的數組(長度與原數組相同):如果是偶數,p加1,反之k+1;
代碼
class Solution {
public int[] sortArrayByParity(int[] A) {
int[] B = new int[A.length];
int p=0;
int k=B.length-1;
for(int i=0;i<A.length;i++){
if(A[i]%2==0){
B[p++]=A[i];
}else{
B[k--]=A[i];
}
}
return B;
}
}