解析:可以创建一个数组,遍历一下,但是会浪费空间,一般情况下时间和空间不可兼得,可以头尾交换,左偶右奇L++R–,左偶右偶L++,左奇右奇R–,左奇右偶 交换,代码如下
代码如下
class Solution {
public int[] sortArrayByParity(int[] A) {
if(A==null||A.length==1||A.length==0){
return A;
}
int L=0;
int R=A.length-1;
while(L<R){
if(A[L]%2==0&&A[R]%2==1){
L++;
R--;
}else if(A[L]%2==0&&A[R]%2==0){
L++;
}else if(A[L]%2==1&&A[R]%2==1){
R--;
}else{
int temp=A[L];
A[L]=A[R];
A[R]=temp;
}
}
return A;
}
}
2
解析:如图所示,需