奇偶分割数组

来源:互联网 发布:淘宝网址导航 编辑:程序博客网 时间:2024/05/29 12:12

分割一个整数数组,使得奇数在前偶数在后。

样例

给定 [1, 2, 3, 4],返回 [1, 3, 2, 4]

挑战 

在原数组中完成,不使用额外空间。


/**     * 思路: 利用插入排序的思想,用一个指针指向奇数序列后一个数,每当遇到奇数,将该指针之后的数从右边开始全部右移一格     * 然后将奇数放到该指针指向的位置,然后将指针移到下一个位置     *     * @param nums     */    public void partitionArray(int[] nums) {        int cnt = 0;        for (int i = 0; i < nums.length; i++) {            if (nums[i] % 2 != 0) {                int temp = nums[i];                for (int j = i - 1; j >= cnt; j--) {                    nums[j + 1] = nums[j];                }                nums[cnt] = temp;                cnt++;            }        }    }


原创粉丝点击