力扣283 移動零 C

2021-10-24 06:28:52 字數 439 閱讀 9538

移動零

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

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

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

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

儘量減少操作次數。

分析:這個題有兩個要求:(1)把零元素移動到陣列末尾 (2)保持非零元素的相對順序

我們可以遍歷一遍陣列,用j來記錄當前不為0的元素的下標位置,當遇到下標為零的元素,就把它的值賦給j位置的元素,最後j位置之前的元素全部為非零元素,將j後面的元素全部置為0即可。

class

solution

}for

(int i=j;isize()

;i++)}

};

力扣日記 283 移動零

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

移動零(力扣第283題)

給定乙個陣列nums,編寫乙個函式將所有0移動到陣列的末尾,同時保持非零元素的相對順序。示例輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。解法 借助乙個慢指標,該指標用於指向從最左端開始的非零子陣列的最後乙個元素的後乙個元素,...

力扣刷題記錄 283 移動零

難度 簡單 題目描述 給定乙個陣列nums,編寫乙個函式將所有0移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。解題語言 c 方法 雙指標 力扣官方 思路及解法 使用雙指標,左...