283. Move Zeroes
Two Pointer
双指针遍历,不停把j
遍历到的非零项填进i
位置,遇到0就跳过,最后在尾巴上补填0。在 candy crush 那题里也用过一样的技巧。
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
i, j = 0, 0
while j < len(nums):
if nums[j] != 0:
nums[i] = nums[j]
i += 1
j += 1
while i < len(nums):
nums[i] = 0
i += 1
return nums
Last updated
Was this helpful?