75. Sort Colors
![17368230-839882b11f7133d2.png](https://i-blog.csdnimg.cn/blog_migrate/257ab0955da9ac4995c4dd2380bc79d4.webp?x-image-process=image/format,png)
75. Sort Colors
0必然在前半部分,2必然在后半部分,设置两个指针:two和zero
- 如果nums[i]=0,交换zero和i,zero++,i++
- 如果nums[i]=1,i++
- 如果nums[i]=2,交换two和i,two--
需要注意:i处理不一样,不要用for,停止条件
class Solution(object):
def sortColors(self, nums):
"""
:type nums: List[int]
:rtype: void Do not return anything, modify nums in-place instead.
"""
zero, two = 0, len(nums)-1
i = 0
while i <= two: #停止条件需要注意
if nums[i] == 0:
nums[i], nums[zero] = nums[zero], nums[i]
zero += 1
i += 1
elif nums[i] == 1:
i += 1
else:
nums[i], nums[two] = nums[two], nums[i]
two -= 1
很简单的题,再做还是会出错=_=