LeetCode #283. Move Zeroes

题目

283. Move Zeroes


解题方法

遍历数组,当遇到0时,将其从数组中弹出,再加到数组的最后,更新数组中已经遇到的0的个数。当i超过数组长度减去0的个数时,遍历结束。
时间复杂度:O(n)
空间复杂度:O(1)


代码

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        zerocount = 0
        i = 0
        while i < len(nums) - zerocount:
            if not nums[i]:
                nums.pop(i)
                nums.append(0)
                zerocount += 1
            else:
                i += 1
posted @ 2020-11-02 16:13  老鼠司令  阅读(49)  评论(0)    收藏  举报