题目

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]);
                    }
                }
            }
        }
        
        
        
    }
};

相关文章:

  • 2022-03-02
  • 2021-07-01
猜你喜欢
  • 2021-05-20
  • 2022-01-13
  • 2021-06-30
  • 2021-10-23
  • 2021-10-30
  • 2022-12-23
  • 2021-08-11
相关资源
相似解决方案