【发布时间】:2018-05-22 15:16:40
【问题描述】:
所以这里的目标是将所有 0 移到数组的末尾,但我从这些小代码行中偶然发现了一个问题。
当我使用输入时,我会得到所需的输出,如下所示:
Input: [0,1,0,3,12]
Output: [1,3,12,0,0]
但是,每当我使用此输入时:
[0,0,1]
我得到这个输出:
[0,1,0]
当我想要输出时:
[1,0,0]
我不知道为什么我认为我正确地实现了这个:
class Solution:
def moveZeroes(self, nums):
"""
:type nums: List[int]
:rtype: void Do not return anything, modify nums in-place instead.
"""
for counter in range(len(nums)):
if nums[counter] == 0:
nums.pop(counter) #Remove the 0
nums.append(0) #Add to end.
counter-=1 #Check same index just incase adjacent 0
感谢任何输入。谢谢!
【问题讨论】:
-
有一种更简单的方法:
x = [1,5,6,0,4],而不是对您的列表进行排序:x.sort(reverse = True) -
@J.A.Cado 这不是一回事。它将对所有值进行排序,而不仅仅是将零分流到末尾。
标签: python