剑指offer-13-调整数组使奇数位于前面

调整数组顺序使奇数位于偶数前面

http://www.nowcoder.com/questionTerminal/beb5aa231adc45b2a5dcc5b62c93f593

思路

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

代码

开辟辅助数组

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;
                }
            }
        }
}
}
剑指offer与数据结构 文章被收录于专栏

本专栏包括剑指offer题目和一些刷题用的数据结构,单调栈,树状数组,差分数组,后面还会更新红黑树等较为复杂的数据结构

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:48
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务