给定一个数组nums,写一个函数,将数组中所有的0挪到数组的末尾。
举例: nums = [0, 1, 0, 3, 12],函数运⾏后结果为[1, 3, 12, 0, 0]
方法一
创建一个临时列表 nonZero,把非0的放进去,然后再把是0的放进去
# 用于存放非0值
nonZero = []
nums = [0,1,0,3,12]
# 将不是0的放到前面
for num in nums:
if (num):
nonZero.append(num)
# 把0放到末尾
for num in nums:
if (num == 0):
nonZero.append(num)
nums = nonZero
方法二
第一步:创建一个索引k,默认值为0
第二步:遍历列表nums,将非0值nums[k],且k + 1。
第三步:将0赋值给nums[k] (k < 列表的长度)
k = 0
nums = [0,1,0,3,12]
for num in nums:
if (num):
nums[k] = num
k += 1
while k < len(nums):
nums[k] = 0
k += 1
print(nums)