給定乙個陣列 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,j=0,
0while i+js<
len(nums)
:if nums[i]==0
: j+=
1 nums[i:i+1]
=0)else
: i+=
1
執行用時 :64 ms, 在所有 python3 提交中擊敗了83.39%的使用者!有一點值得記錄的是對列表切片賦值空列表等同於刪去切片部分。
力扣283 移動零 C
移動零 給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。分析 這個題有兩個要求 1 把零元素移動到陣列末尾 2 保持非零元素的相...
移動零(力扣第283題)
給定乙個陣列nums,編寫乙個函式將所有0移動到陣列的末尾,同時保持非零元素的相對順序。示例輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。解法 借助乙個慢指標,該指標用於指向從最左端開始的非零子陣列的最後乙個元素的後乙個元素,...
力扣日記 移動零
給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 題解 1.雙指標方法 分別定義兩個索引從0開始,i指向當前已經處理好的序列的尾部,j指向待處理序列的頭部。j不斷向右移動,每次j指向非零數,則將...