283. 移動(dòng)零
題目描述
給定一個(gè)數(shù)組 nums,編寫(xiě)一個(gè)函數(shù)將所有 0 移動(dòng)到數(shù)組的末尾钉稍,同時(shí)保持非零元素的相對(duì)順序。
示例:
輸入: [0,1,0,3,12]
輸出: [1,3,12,0,0]
說(shuō)明:必須在原數(shù)組上操作,不能拷貝額外的數(shù)組蓄髓。
盡量減少操作次數(shù)。來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/move-zeroes
解題思路
- 方法1:類似與冒泡排序,將0沉底
代碼實(shí)現(xiàn)
- 方法1:
class Solution(object):
def moveZeroes(self, nums):
"""
:type nums: List[int]
:rtype: None Do not return anything, modify nums in-place instead.
"""
i = j = 0
for i in range(len(nums)):
if nums[i] != 0:
nums[j], nums[i] = nums[i], nums[j]
j += 1