今天是很简单的一道题
考虑使用两个变量记录奇数和偶数位置的值,遍历找奇数位置上的偶数以及偶数位置上的奇数,然后交换两个值即可。
class Solution {
public int[] sortArrayByParityII(int[] A) {
// i 记录 偶数
// j 记录 奇数
int i = 0;
int j = 1;
while(i<A.length && j<A.length){
while(i<A.length && A[i]%2==0){
// 找奇数i位置
i+=2;
}
while(j<A.length && A[j]%2!=0){
// 找偶数j位置
j+=2;
}
if(i<A.length && j<A.length){
// 交换两个值
int temp = A[i];
A[i] = A[j];
A[j] = temp;
}
}
return A;
}
}