LeetCode #1089. Duplicate Zeros

题目

1089. Duplicate Zeros


解题方法

遍历数组,如果当前位置的值是0,就在此位置插入0并将i向后多移动一位,同时把数组最后一个元素pop掉,直到循环结束。
时间复杂度:O(n)
空间复杂度:O(1)


代码

class Solution:
    def duplicateZeros(self, arr: List[int]) -> None:
        i = 0
        while i < len(arr):
            if not arr[i]:
                arr.insert(i, 0)
                arr.pop(-1)
                i += 1
            i += 1
posted @ 2020-11-24 10:36  老鼠司令  阅读(95)  评论(0)    收藏  举报