给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。
你可以返回满足此条件的任何数组作为答案。
示例:
输入:[3,1,2,4]
输出:[2,4,3,1]
输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。
思路:使用双指针
定义两个指针,一个为奇数元素对应的位置,一个为偶数元素对应的位置,让其每次都加2,然后将排序后的结果写在B中。
class Solution {
public int[] sortArrayByParityII(int[] A) {
int [] B = new int [A.length];
int index1 = 0;
int index2 = 1;
for(int i=0;i<A.length;i++){
if(A[i] % 2 == 0){
B[index1] = A[i];
index1+=2;
}else{
B[index2]=A[i];
index2+=2;
}
}
return B;
}
}