《剑指Offer》13调整数组顺序使奇数位于偶数前面

题目:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
直接上代码,以空间换时间
public class Solution {
    public void reOrderArray(int [] array) {
        int len=array.length;
        int odd=0;
        int even=0;
        for (int i=0; i<array.length; i++) {
            if ((array[i]&1)==1) {
                odd++;
            }else {
                even++;
            }
        }
        int[] arr1=new int[odd];
        int[] arr2=new int[even];
        int j1=0;
        int j2=0;
        for (int i=0; i<array.length; i++) {
            if ((array[i]&1)==1) {
                arr1[j1]=array[i];
                j1++;
            }else {
                arr2[j2]=array[i];
                j2++;
            }
        }
        j1=0;
        j2=0;
        for (int i=0; i<array.length; i++) {
            if (i<odd) {
                array[i]=arr1[j1];
                j1++;
            }else {
                array[i]=arr2[j2];
                j2++;
            }
        }
    }
}

全部评论

相关推荐

每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务