这道题如果用快慢指针的话会打乱顺序,因此我们选择新开一个数组,用空间换时间:
public class Solution {
public void reOrderArray(int [] array) {
int[] evens = new int[array.length];
int oddIndex = 0, evenIndex = 0;
for(int num: array){
if(num % 2 != 0){
array[oddIndex++] = num;
}else{
evens[evenIndex++] = num;
}
}
for(int i = 0; i < evenIndex; i++){
array[oddIndex + i] = evens[i];
}
}
}