算法思路:
leetcode75 sort colors
题意:把相同的颜色(用数字指代)按从小到大排序到一起。
解决代码:
时间复杂度:O(N)
空间复杂度:O(1)
class Solution { public: void sortColors(vector<int>& nums) { int zero=-1,two=nums.size(); for(int i=0;i<two;) { if(nums[i]==1) i++; else if(nums[i]==2) swap(nums[i],nums[--two]); else swap(nums[++zero],nums[i++]); } } };