【发布时间】:2021-03-22 03:37:36
【问题描述】:
给定一个数组 nums,我试图将所有 0 移到它的末尾,同时保持非零元素的相对顺序。我正在尝试在不复制数组的情况下就地执行此操作。
所以对于输入 [0,1,0,3,12],输出应该是 [1,3,12,0,0]。但是我下面的代码只能将数组中的第一个零移动到数组的末尾,并给出错误的输出 [1,0,3,12,0]。如何修改它以便所有零有效地移动到数组的末尾?
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
n=len(nums)
for i in range(0,n):
if (nums[i]==0) and ((i+1)<n):
nums[i]=nums[i+1]
nums[i+1]=0
print(nums)
【问题讨论】:
标签: python arrays python-3.x