我只想将零向左移动并且不想对列表进行排序。
例如,如果我的列表是这样的:
nums = [1, 10, 20, 0, 59, 63, 0, 8, 0]
Run Code Online (Sandbox Code Playgroud)
这是将所有零向左移动后我想要的输出:
output = [0, 0, 0, 1, 10, 20, 59, 63, 8]
Run Code Online (Sandbox Code Playgroud)
这是我试过的代码:
class Solution:
def moveZeroes(self, nums):
c = 0
for i in range(len(nums)):
if nums[i] != 0:
nums[i], nums[c] = nums[c], nums[i]
c += 1
return nums
print(Solution().moveZeroes(nums))
Run Code Online (Sandbox Code Playgroud)
这段代码给了我输出:
[1, 10, 20, 59, 63, 8, 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)
但我想要的输出是:
[0, 0, 0, 1, 10, 20, 59, 63, 8]
Run Code Online (Sandbox Code Playgroud)