class Solution {
public:
// 使用双指针,一个为奇数 一个为偶数 然后交换两个位置的元素,遍历整个数组就好了
vector<int> sortArrayByParityII(vector<int>& A) {
int i=0,j=1,len=A.size(),t;
while(i<len && j<len){
while(i<len && i%2==0 && A[i]%2==0){
i+=2;
}
while(j<len && j%2==1 && A[j]%2==1){
j+=2;
}
if(i<len && j<len){
t=A[i];
A[i]=A[j];
A[j]=t;
i+=2;
j+=2;
}
}
return A;
}
};
class Solution {
public:
vector<int> sortArrayByParityII(vector<int>& A) {
int a=0,b=1;
vector<int> result(A.size());
for(int i=0;i<A.size();i++){
if(A[i]%2==0){
result[a]=A[i];
a+=2;
}else{
result[b]=A[i];
b+=2;
}
}
return result;
}
};