力扣 移动零


https://leetcode.cn/problems/move-zeroes/description/

思路

双指针法,定义两个指针 l r ,它们维护了一段元素都是0的区间nums[l:r]

nums[l] == 0 nums[l] != 0
nums[r] == 0 r+=1 不存在
nums[r] != 0 swap;l+=1;r+=1 l+=1;r+=1
class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        l = 0
        for r in range(len(nums)):
            if nums[r] != 0:
                if nums[l] == 0:
                    nums[l], nums[r] = nums[r], nums[l]
                l += 1
posted @ 2023-10-31 15:36  完美二叉树  阅读(16)  评论(0)    收藏  举报