Leetcode刷题笔记python---移动零

移动零

题目

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

示例:

输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
说明:

必须在原数组上操作,不能拷贝额外的数组。
尽量减少操作次数。


解答

错误示范:

for i in range(len(nums)):
    if nums[i]==0 and i<len(nums)-1:
        tmp=nums[i]
        nums[i]=nums[i+1]
        nums[i+1]=tmp

思路:

  1. 找出有多少零
  2. 去掉0
  3. 加回0

代码:

class Solution:
    def moveZeroes(self, nums):
        """
        :type nums: List[int]
        :rtype: void Do not return anything, modify nums in-place instead.
        """
        i=nums.count(0)
        while i>0:
            nums.remove(0)
            nums.append(0)
            i=i-1

结果:36%

猜你喜欢

转载自blog.csdn.net/sinat_29350597/article/details/82930511