1. 075

sort-colors


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++;

        }

    }

};

results matching ""

    No results matching ""