leetcode283.移动零

114 阅读1分钟

283.移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

就地”完成此操作,不能拷贝额外的数组。尽量减少操作次数。

输入: [0,1,0,3,12]   输出: [1,3,12,0,0]
class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
    Do not return anything, modify nums in-place instead.
    """
        j = 0
        for i, _ in enumerate(nums):
            if nums[i]:
                nums[j] = nums[i]
                j += 1
        for k in range(j, len(nums)):
            nums[k] = 0
# 双指针,快指针遍历数组,若数字非0,则填充到慢指针处,遍历结束末尾全部置0