题目:283. 移动零
思路:
双指针思路。
当我们遇到一个非零元素时,我们需要交换当前指针和慢速指针指向的元素,然后前进两个指针。
如果它是零元素,我们只前进当前指针。
时间复杂度:, 空间复杂度:
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
lastnonzero = 0
for cur_point, num in enumerate(nums):
if num != 0:
nums[lastnonzero], nums[cur_point] = nums[cur_point], nums[lastnonzero]
lastnonzero += 1