移動零(力扣第283題)

2022-06-16 11:24:11 字數 441 閱讀 5449

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

示例

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

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

說明:

必須在原陣列上操作,不能拷貝額外的陣列。

儘量減少操作次數。

解法:​ 借助乙個慢指標,該指標用於指向從最左端開始的非零子陣列的最後乙個元素的後乙個元素,也就是下乙個應該歸入的非零元素的位置。每移動過來乙個非零元素就向後移動一次。

public void movezeroes(int nums) 

int slow_index = 0;

for (int i = 0; i < nums.length; i++)

}}

刷題筆記 力扣283 移動零

獲得的思考 獲得的思考 給定乙個陣列nums,編寫乙個函式將所有0移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0 1,0 3,12 輸出 1 3,12 0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。思路 先統計容器中0的個數,刪掉所有的零,並在結尾補零 cla...

力扣日記 283 移動零

給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。方法一 class solution def movezeroes self,n...

力扣283 移動零 C

移動零 給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。分析 這個題有兩個要求 1 把零元素移動到陣列末尾 2 保持非零元素的相...