移動零
給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。
示例:輸入: [0,1,0,3,12]
輸出: [1,3,12,0,0]
說明:必須在原陣列上操作,不能拷貝額外的陣列。
儘量減少操作次數。
class solution:
def movezeroes(self, nums: list[int]) -> none:
"""do not return anything, modify nums in-place instead.
"""i = 0
n = len(nums)
while n:
if nums[i]==0:
num = nums.pop(i)
else:
i += 1
n -= 1
leetcode 283 移動零 單指標方法
題解是雙指標,但其實單指標就足夠了。每次遍歷把零元素存起來,這樣交換後交換的零元素也在後面,一次遍歷就可以結束。from collections import deque class solution def movezeroes self,nums list int none do not ret...
leetcode 283 移動零 快慢指標
給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。思路雙指標法。這道題目相當經典,將所有 0 移動到陣列的末尾,分為兩步,第一是將...
leetcode 283 移動零,雙指標解法
題目描述 給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。public void movezeroes int nums 思路 ...