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

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

https://www.nowcoder.com/practice/beb5aa231adc45b2a5dcc5b62c93f593?tpId=13&&tqId=11166&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

先算出奇数的个数,然后再分数组中的位置进行重新填充(需要克隆一个新数组)

public void reOrderArray(int [] array) {
        if(array.length <= 1)
            return;
        int cnt = 0; /*记录奇数的个数*/
        for(int i = 0; i < array.length; i++){
            if((array[i]&1) != 0)
                cnt++;
        }
        int q = 0,h = cnt;
        int[] copy = array.clone();
        for(int i = 0; i < copy.length; i++){
            if((copy[i]&1) != 0){
                array[q] = copy[i];
                q++;
            }else{
                array[h] = copy[i];
                h++;
            }
        }
    }
剑指offer 文章被收录于专栏

为刷过的每一道题都书写一篇题解,便于重复练习~

全部评论

相关推荐

10-27 17:26
东北大学 Java
点赞 评论 收藏
分享
jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务