已知一个整数数组A[n],写出算法实现将奇数元素放在数组的左边,将偶数放在数组的右边。要求时间复杂度为O(n)。
public static int[] test(int[] a){
int len = a.length;
int i=0,j=len-1;
int tmp=a[0];
while(i<j){
while((i<j)&&a[j]%2==0){
j--;
}
a[i] = a[j];
while((i<j)&&a[i]%2!=0){
i++;
}
a[j] = a[i];
}
a[i] = tmp;
return a;
}