給定一個數組
nums
,編寫一個函數将所有
移動到數組的末尾,同時保持非零元素的相對順序。
示例:
輸入: [0,1,0,3,12]
輸出: [1,3,12,0,0]
說明:
- 必須在原數組上操作,不能拷貝額外的數組。
- 盡量減少操作次數。
通過次數
247,393
| 送出次數
392,424
代碼實作
- 棧方法
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
for i in range(nums.count(0)):
nums.remove(0)
nums.append(0)
- 周遊修改法
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
c = 0
for i in nums:
if i != 0:
nums[c] = i
c += 1
for i in range(c, len(nums)):
nums[i] = 0
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/move-zeroes
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。