《剑指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++;
            }
        }
    }
}

全部评论

相关推荐

鼠鼠第一次实习,啥也不懂一直是自己一个人吃的饭,不会做工作老是被嫌弃,大人的世界是这样的吗?
我是星星我会发亮:好的mt有两种,一种愿意教你的,一种几乎什么活都不给你派让你很闲允许你做自己事情的
点赞 评论 收藏
分享
那一天的Java_Java起来:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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