Leetcode刷題筆記python---移動零
阿新 • • 發佈:2018-12-13
移動零
題目
給定一個數組 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
思路:
- 找出有多少零
- 去掉0
- 加回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%