双指针维护,2都往右放,0都往左放
class Solution {
public:
void sortColors(vector<int>& nums) {
int n=nums.size();
int l=0,r=n-1;
for(int i=0;i<n;i++)
{
while(nums[i]==2&&i<r) swap(nums[i],nums[r--]);
while(nums[i]==0&&l<i) swap(nums[i],nums[l++]);
}
}
};