1. 程式人生 > >Leetcode刷題筆記python---移動零

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%