LeetCode #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

浙公网安备 33010602011771号