给定一个非负整数数组 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
我的思路:创建一个新数组,遍历原数组,偶数从头开始插入,奇数从尾开始插入。
我的解法:
class Solution {
public int[] sortArrayByParity(int[] A) {
int[] newA = new int[A.length];
int a = 0;
int b = A.length - 1;
for(int i = 0; i < A.length; i++){
if(A[i] % 2 == 0){
newA[a++] = A[i];
} else {
newA[b--] = A[i];
}
}
return newA;
}
}
执行用时 :3 ms, 在所有 Java 提交中击败了93.87%的用户
内存消耗 :45 MB, 在所有 Java 提交中击败了73.75%的用户