题目
描述
分割一个整数数组,使得奇数在前偶数在后。
样例
给定 [1, 2, 3, 4]
,返回 [1, 3, 2, 4]
。
解答
思路
从前往后找到的偶数,与从后往前找到的奇数换位子,两个游标相遇表示替换完毕。
代码
public class Solution {
/**
* @param nums: an array of integers
* @return: nothing
*/
public void partitionArray(int[] nums) {
// write your code here;
for(int i = 0, j = nums.length - 1; i < j; i++){
if(nums[i] % 2 == 0){
while(nums[j]%2 == 0){
if((--j)< i) return;
}
int temp = nums[i];nums[i] = nums[j]; nums[j] = temp;
}
}
}
}