image.png
很像快排,两个指针从两边靠拢。
class Solution {
public:
/*
* @param nums: an array of integers
* @return: nothing
*/
void partitionArray(vector<int> &nums) {
// write your code here
int left = 0, right = nums.size() - 1;
while(left <= right){
//cout<<nums[left]%2<<endl;
while(nums[left]%2 == 1 && left <= right) left++;
while(nums[right]%2 == 0 && left <= right) right--;
if(left <= right){
swap(nums[left++], nums[right--]);
}
}
}
};