// 解法一:类似快排思想
class Solution {
public:
vector<int> exchange(vector<int>& nums) {
if(nums.empty()) return {};
int left=0,right=nums.size()-1;
while(left<right){
while(left<right && (nums[right]&1)==0){
right--;
}
while(left<right && (nums[left]&1)==1){
left++;
}
if(left<right){
int tmp=nums[left];
nums[left]=nums[right];
nums[right]=tmp;
}
}
return nums;
}
};
// 解法二:快慢指针
class Solution {
public:
vector<int> exchange(vector<int>& nums) {
int slow=0,fast=0;
while(fast<nums.size()){
if(nums[fast]&1==1){
swap(nums[slow],nums[fast]);
slow++;
}
fast++;
}
return nums;
}
};