思路

  • 稳定排序,奇数的权重小于偶数,奇数和偶数权重相同
  • 开辟一个数组存储
    面试的时候大概会让你写第一种的,笔试的时候写第二种,这里给出插入排序的代码

代码

开辟辅助数组

public class Solution {
    public void reOrderArray(int [] array) {
        int[] arr=new int[array.length];
        int p=0,q=0;
        for(int i=0;i<array.length;i++){
            if(array[i]%2==1){
                array[p]=array[i];
                p++;
            }else{
                arr[q]=array[i];
                q++;
            }
        }
        for(int i=0;i<q;i++){
            array[i+p]=arr[i];
        }
    }
}

冒泡排序

public class Solution {
    public void reOrderArray(int [] array) {
        for(int i=0;i<array.length;i++){
            for(int j=0;j<array.length-1;j++){
                if(array[j]%2==0 && array[j+1]%2==1){
                    int temp=array[j];
                    array[j]=array[j+1];
                    array[j+1]=temp;
                }
            }
        }
}
}