283. 移动零
labuladong 题解思路
难度简单
给定一个数组 nums
,编写一个函数将所有 0
移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。
示例 1:
输入: nums =[0,1,0,3,12]
输出:[1,3,12,0,0]
示例 2:
输入: nums =[0]
输出:[0]
class Solution: def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. """ l = r = 0 n = len(nums) while r < n: if nums[r] != 0: nums[l] = nums[r] l+=1 r+=1 for i in range(l,n): nums[i] = 0
class Solution: def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. """ j = 0 for n in nums: if n != 0: nums[j] = n j+=1 for i in range(j,len(nums)): nums[i] = 0