这题虽然我看了答案是下面这样写的:
class Solution:
def sortColors(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
p0, cur, p2 = 0, 0, len(nums)-1
while cur <= p2:
if nums[cur] == 0:
nums[p0], nums[cur] = nums[cur], nums[p0]
p0 += 1
cur += 1
elif nums[cur] == 2:
nums[cur], nums[p2] = nums[p2], nums[cur]
p2 -= 1
#这个时候,不移动指针cur,因为
else:
cur += 1
但是我实在没有想明白为什么当数字=2的时候,不移动指针。明天再来想想具体的原因。