解法:双指针
left指向数组左端0,right指向数组右端len-1
left指针往右走,遇到奇数直接+1
right指针往左走,遇到偶数直接-1
之后交换left和right各自指向的值
直到退出循环,返回array
public class Solution {
public int[] reOrderArrayTwo (int[] array) {
// write code here
int left=0,right=array.length-1;
while(left<=right){
while(left<right && array[left]%2==1) left++;
while(left<right && array[right]%2==0) right--;
//交换
int temp = array[left];
array[left] = array[right];
array[right] = temp;
left++;
right--;
}
return array;
}
}