思路
双指针,(类似于快排的两个指针 = =)
class Solution {
public:
vector<int> exchange(vector<int>& nums) {
int i = 0, j = nums.size()-1;
while(i<j){
while(j>=0 && nums[j]%2==0){ // 加入是否越界判断
// 偶数继续往左走
j--;
}
while(i<=nums.size()-1 && nums[i]%2==1){ // 加入是否越界判断
// 奇数继续往右走
i++;
}
// 此时j指向奇数,i指向偶数
if( i<j ){
swap(nums[i], nums[j]);
}
}
return nums;
}
};