给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
示例
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
说明
1.必须在原数组上操作,不能拷贝额外的数组。
2.尽量减少操作次数。
思路一
暴力法:删除原数组中的所有零元素,并用一个count变量计数。最后在数组后加上相应数量的零。
21个用例,耗时160ms,击败15%Python提交记录
class Solution(object):
def moveZeroes(self, nums):
"""
:type nums: List[int]
:rtype: None Do not return anything, modify nums in-place instead.
"""
count = 0
while 0 in nums:
nums.remove(0)
count += 1
for i in range(count):
nums.append(0)