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];
}
}
}
}
参考资料