数据结构与算法———力扣283——双指针——python

数据结构与算法———力扣283——双指针——python_第1张图片
这里使用双指针法,快慢指针。

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        # 快指针 一直加1
        z = 0  # 我本来指定为1  但是如果输入的长度为2 那列表中两个数会直接进行交换,所以需要写成0
        # 慢指针 只有交换才 加1
        y = 0

        l = len(nums)

        # 循环停止条件是:慢指针 不小于 数组长度
        while z < l:
            # 快指针 不等于0时
            if nums[z] != 0:
                # 进行交换
                nums[z], nums[y] = nums[y], nums[z]
                # 慢指针 +1
                y += 1
            # 快指针 +1
            z += 1

你可能感兴趣的:(力扣算法题,leetcode,算法,职场和发展)