LintCode 373. 奇偶分割数组

LintCode 373. 奇偶分割数组

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

样例

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

Java 代码

public class Solution {
    /*
     * @param nums: an array of integers
     * @return: nothing
     */
    public void partitionArray(int[] nums) {
        // write your code here
        if (nums == null || nums.length == 0)  return;
        int i = 0;
        int j = nums.length - 1;
        while (i < j) {
            while (nums[i] % 2 == 1) {
                i++;
            }
            while (nums[j] % 2 == 0) {
                j--;
            }
            if (i < j) {
                nums[i] = nums[i] ^ nums[j];
                nums[j] = nums[i] ^ nums[j];
                nums[i] = nums[i] ^ nums[j];
            }
        }
    }
}

参考资料

  • https://www.jianshu.com/p/ac9aa27bc9ab

转载于:https://www.cnblogs.com/hglibin/p/8981158.html

你可能感兴趣的:(java)