LintCode-373.奇偶分割数组

奇偶分割数组

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

样例

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

挑战

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

标签

数组 两根指针

code

class Solution {
public:
/**
* @param nums: a vector of integers
* @return: nothing
*/
void partitionArray(vector &nums) {
// write your code here
int size = nums.size();
int begin=0, end=size-1;

while(begin < end) {
// 指向奇数
while((nums[begin] & 1)1) {
begin++;
}
// 指向偶数
while((nums[end] & 1)
0) {
end--;
}

if(begin < end) {
int temp = nums[begin];
nums[begin] = nums[end];
nums[end] = temp;
}
}
}
};

posted @ 2017-05-04 14:19  LiBaoquan  阅读(205)  评论(0)    收藏  举报