美文网首页
373. 奇偶分割数组

373. 奇偶分割数组

作者: 6默默Welsh | 来源:发表于2018-01-08 19:53 被阅读1次

    描述

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

    样例

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

    挑战

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

    代码

    public class Solution {
        /*
         * @param nums: an array of integers
         * @return: nothing
         */
        public void partitionArray(int[] nums) {
            int left = 0;
            int right = nums.length - 1;
            while (left < right) {
                while (left < right && nums[left] % 2 != 0) {
                    left++;
                }
                while (left < right && nums[right] % 2 == 0) {
                    right--;
                }
                if (left < right) {
                    int temp = nums[left];
                    nums[left] = nums[right];
                    nums[right] = temp;
                    // 交换完不要忘记移动指针
                    left++;
                    right--;
                }
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:373. 奇偶分割数组

          本文链接:https://www.haomeiwen.com/subject/cgfinxtx.html