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

来源:互联网 发布:mac os 10.11镜像下载 编辑:程序博客网 时间:2024/05/29 09:40

题目描述:

输入一个整数数组 实现一个函数来调整该函数数组中数字的顺序,使得所有的奇数位于数组的前半部分 所有的偶数位于数组的后半部分

思路:

想到类似快排的实现,从前往后扫描偶数,从后往前扫描奇数,交换二者顺序即可。

public static void order(int[] number) {        int startIndex = 0;        int endIndex = number.length - 1;        while (startIndex < endIndex) {            if (startIndex < endIndex && !isEven(number[startIndex])) {//从前往后查找偶数                startIndex++;            }            if (startIndex < endIndex && isEven(number[endIndex])) {//从后往前查找奇数                endIndex--;            }            if (startIndex < endIndex) {                int temp = number[startIndex];                number[startIndex] = number[endIndex];                number[endIndex] = temp;            }        }    }    private static boolean isEven(int number) {        return number % 2 == 0;    }
阅读全文
0 0
原创粉丝点击