遍历一遍,用两个指针分别记录奇数和偶数,当前是奇数则存入奇数位,偶数则存入偶数位,一种是另开一个数组,一种是在原有的数组改,当遇到不匹配的时候,查找到另一个不匹配的进行交换。
function sortArrayByParityII(A: number[]): number[] {
let i = 0;
let j = 1;
let result = Array.of(A.length)
for(let index =0; index< A.length; index++) {
if(A[index]%2===0){
result[i]=A[index]
i+=2
} else {
result[j]=A[index]
j+=2
}
}
return result
};
function sortArrayByParityII2(A: number[]): number[] {
let j = 1;
for(let i =0; i< A.length; i+=2) {
if(A[i]%2===1){
while(A[j]%2===1) {
j+=2
}
let temp = A[j]
A[j] = A[i]
A[i] = temp
}
return A
};