class Solution { public: vector<int> sortArrayByParityII(vector<int>& nums) { //在同一块区域进行遍历查询 双指针 一个只检查奇数位置 一个只检查偶数位置 然后二者进行交换 有点快排的思想 int n=nums.size(); int evenp=0,oddp=1; while(evenp<n && oddp<n){ while(evenp<n && nums[evenp]%2==0){ evenp+=2; } while(oddp<n && nums[oddp]%2==1){ oddp+=2; } if(evenp<n && oddp<n){ int temp=nums[evenp]; nums[evenp]=nums[oddp]; nums[oddp]=temp; evenp+=2; oddp+=2; } } return nums; } };