給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。
示例:
輸入: [0,1,0,3,12]
輸出: [1,3,12,0,0]
說明:
必須在原陣列上操作,不能拷貝額外的陣列。
儘量減少操作次數。
這個題也沒有其它的好辦法,只能將0與非零值位置互換直到最後。
c++源**:
class
solution}}
}}};
python3源**:
class
solution
:def
movezeroes
(self, nums)
:"""
:type nums: list[int]
:rtype: void do not return anything, modify nums in-place instead.
"""for i in
range
(len
(nums)-1
):if nums[i]==0
:for j in
range
(i+1
,len
(nums)):
if nums[j]
: nums[i]
, nums[j]
= nums[j]
, nums[i]
break
Leetcode刷題283 移動零
方法1 把陣列中j個非零元素存放在陣列的前j項,之後把後邊的元素設定為0即可,如下 class solution def movezeroes self,nums list int none do not return anything,modify nums in place instead.j ...
LeetCode第283題 移動零
給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0 1,0 3,12 輸出 1 3,12 0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。解法一 使用氣泡排序的方法將所有0移動到後面。emps 解法二 遍歷兩次陣列,第...
leetcode刷題打卡 283移動零
題目描述 給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0 1,0 3,12 輸出 1 3,12 0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。解題思路 定義兩個指標 a b,指標a一直在遍歷原陣列,指標a b一起...