1. 程式人生 > >【LeetCode 簡單題】72-移動零

【LeetCode 簡單題】72-移動零

宣告:

今天是第72道題。給定一個數組 nums,編寫一個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。以下所有程式碼經過樓主驗證都能在LeetCode上執行成功,程式碼也是借鑑別人的,在文末會附上參考的部落格連結,如果侵犯了博主的相關權益,請聯絡我刪除

(手動比心ღ( ´・ᴗ・` ))

正文

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

示例:

輸入:[0,1,0,3,12]
輸出:[1,3,12,0,0]

說明:

  1. 必須在原陣列上操作,不能拷貝額外的陣列。
  2. 儘量減少操作次數。

解法1。考察的是題乾的轉化和陣列的屬性如移除元素用remove,末尾增加元素用append,遍歷陣列一旦檢測到0就remove,同時在末尾添0,程式碼如下。

執行用時: 160 ms, 在Move Zeroes的Python提交中擊敗了18.39% 的使用者

class Solution(object):
    def moveZeros(self,nums):
        """
        :type nums: List[int]
        :rtype: void Do not return anything, modify nums in-place instead.
        """

        for num in nums:
            if num==0:
                nums.remove(num)
                nums.append(0)

結尾

解法1:https://blog.csdn.net/hengxingty/article/details/77816838