class Solution {
public:
void sortColors(vector<int>& nums) {
int low = 0,high = nums.size()-1;
int i = 0;
while(low < high)
{
if(i == nums.size()) return;
if(nums[i] == 0)
{
if(i == low) i++;
else swap(nums[low],nums[i]);
low++;
}
else if(nums[i] == 2)
{
if(i >= high) return;
else swap(nums[high],nums[i]);
high--;
}
else
{
i++;
}
}
}
};
题解:双指针,把0和2的坑填好,1的话不用管就行。