LeetCode 75. Sort Colors(按颜色进行排序)

题意:按颜色进行排序。

分析:荷兰国旗问题三分partition          S(n)=O(1)

class Solution {
public:
    void sortColors(vector<int>& nums) {
        int len = nums.size();
        int less = -1;
        int more = len;
        int p = 0;
        while(p < more){
            if(nums[p] < 1){
                swap(nums[++less], nums[p++]);
            }
            else if(nums[p] > 1){
                swap(nums[--more], nums[p]);
            }
            else{
                ++p;
            }
        }
    }
};

  

原文地址:https://www.cnblogs.com/tyty-Somnuspoppy/p/12599724.html