1. 075
2. 算法
- O(n)
双指针:对一个包含0,1,2三个数字的数组重新排列,使得排好序的数组是0,1,2的顺序
3. 代码
class Solution{
public:
    void sortColors(vector<int>& nums){
        int n=nums.size();
        int zeropoint=0,twopoint=n-1;
        int i=0;
        while(i<=twopoint){
            if(nums[i]==0 && i!=zeropoint)
                swap(nums[zeropoint ++],nums[i]);
            else if(nums[i]==2 && i!=twopoint)
                swap(nums[twopoint--],nums[i]);
            else
                i++;
        }
    }
};