1. 程式人生 > >LeetCode 刷題(python) 之

LeetCode 刷題(python) 之

移動零

給定一個數組 nums, 編寫一個函式將所有 0 移動到它的末尾,同時保持非零元素的相對順序。

例如, 定義 nums = [0, 1, 0, 3, 12],呼叫函式之後, nums 應為 [1, 3, 12, 0, 0]

注意事項:

  1. 必須在原陣列上操作,不要為一個新陣列分配額外空間。
  2. 儘量減少操作總數。

def moveZeroes(self, nums):
        """
        :type nums: List[int]
        :rtype: void Do not return anything, modify nums in-place instead.
        """
        
        
        # 方法一, 76ms 55.37%
        i=0
        j=len(nums)
        while i < j:
            if nums[i]==0:
                nums.insert(j, 0)
                #print(nums)
                del(nums[i])
                j-=1
                continue
            i+=1
最好的執行效率:64毫秒,89.02%