LeetCode 75. Sort Colors

题目

one pass solution 就是遇到0就往前插,遇到2就往后插

class Solution {
public:
    void sortColors(vector<int>& nums) {
        
        
        for(int i=0;i<nums.size();i++)
        {
            if(nums[i]==2)
            {
                for(int j=nums.size()-1;j>i;j--)
                {
                    if(nums[j]!=2)
                    {
                        swap(nums[i],nums[j]);
                    }
                }
            }
            
            if(nums[i]==0)
            {
                for(int j=0;j<i;j++)
                {
                    if(nums[j]!=0)
                    {
                        swap(nums[i],nums[j]);
                    }
                }
            }
        }
        
        
        
    }
};
posted @ 2019-10-19 09:40  Shendu.CC  阅读(72)  评论(0编辑  收藏  举报