给定一个非负整数数组 A,返回一个由 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
思路:
新建一个和A同样长度的数组B
建立两个标识符
第一个标识符n在数组B的开头
第二个标识符在m数组B的结尾
判断是否为偶数,是偶数从B的开头开始添加(n++)
判断是否为奇数,是奇数从B的末尾开始添加(m--)
return B
代码:
class Solution {
public int[] sortArrayByParity(int[] A) {
int n = A.length;
int i = 0, j = n - 1;
int[] tmp = new int[n];
for(int k = 0; k < n; k++){
if(A[k] % 2 == 0){
tmp[i++] = A[k];
}else{
tmp[j--] = A[k];
}
}
return tmp;
}
}
网友评论