Partition Array by Odd and Even(奇偶分割数组 )

问题

Partition an integers array into odd number first and even number second.
Example
Given [1, 2, 3, 4], return [1, 3, 2, 4]

分析

问题就是需要把奇数放在前边,偶数放在后边。
这里使用快速排序的思路,左边和右边同时开始,左边碰到奇数就++,偶数就停下,右边是偶数就--,奇数就会停下。当左边还小于右边的时候就交换。

代码

public class Solution {
    /**
     * @param nums: an array of integers
     * @return: nothing
     */
    public void partitionArray(int[] nums) {
        // write your code here;
        int l=0;
        int r=nums.length-1;
        while(l=r){
                break;
            }
            int temp=nums[l];
            nums[l]=nums[r];
            nums[r]=temp;
            l++;
            r--;
        }
    }
}

你可能感兴趣的:(Partition Array by Odd and Even(奇偶分割数组 ))