移动0两种解法(Python)

移动0两种解法(Python),第1张

LeetCode链接

快慢指针 时间复杂度 O(N)
class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        j = 0
        for i in range(len(nums)):
            if nums[i] != 0:
                if i != j:
                    nums[i], nums[j] = nums[j], nums[i]
                j = j + 1
两个循环 时间复杂度 O(N)
class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        j = 0
        for i in range(len(nums)):
            if nums[i] != 0:
                nums[j] = nums[i]
                j += 1
        
        for i in range(j, len(nums)):
            nums[i] = 0

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/789160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存