从后往前找,遇到偶数,从头开始寻找奇数,进行置换,直到i, j相遇,即可将所有的偶数放置在前面,奇数放置在后面。
vector<int> sortArrayByParity(vector<int>& A) {
int i = 0; int j = A.size()-1;
while(1){
if(A[j] % 2 == 0){
while (i < j){
if(A[i] % 2 != 0){
int tmp = A[i];
A[i] = A[j];
A[j] = tmp;
i++;
break;
}
i++;
}
}
if(i == j) break;
j--;
}
return A;
}