leetcode解題之移動零

2021-10-03 08:02:30 字數 708 閱讀 3770

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

示例:

輸入:[0,

1,0,

3,12]

輸出:[1,

3,12,

0,0]

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

儘量減少操作次數。

開始時看題太快,理解錯了,以為是要把0移動端末尾,其他元素公升序排列,因為之前做過陣列旋轉,所以按照旋轉的思路寫了下面的**:

class

solution}}

}}

而題目中的意思是非零元素保持相對的位置,就是不改變排列的順序,修改了多次,終於成功了,基本思路是遍歷陣列,遇到0則往後移動

class

solution

end--;}

else}}

}

最後的版本,可以減少一部分移動

class

solution

end--;}

else}}

}

class

solution

}while

(index}}

Leet Code 解題練習筆記 移動零

剛開始想用乙個for迴圈來完成,但是沒寫出來。後來寫了乙個思路簡單,醜陋的方法,先for迴圈數一數有幾個0,再將這些0通過for迴圈挨個刪去,最後在末尾添上0.for i in range 0,num len if nums i 0 num 0 num 0 1 for i in range 0,nu...

leetcode之283移動零Golang

我覺得我們需要考慮兩種情況 當陣列中存在重複元素,並且target剛好是這兩個元素的和,那麼我們的返回結果應該是兩個相同元素的下標,甚至如果這樣相同的元素有很多個,那麼我只需要返回前兩個相同的元素就可以了。本題使用雜湊來實現,定義雜湊為map int int,鍵為陣列中元素的值,值為他們的下標,因為...

Leetcode題解之陣列(7)移動零

題目 題目描述 給定乙個陣列nums,編寫乙個函式將所有0移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。思路 解法1 用兩個指標,分別指向最開始和最結尾兩個下標。每次都比較n...