283.移动零
移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
请注意,必须在不复制数组的情况下原地对数组进行操作。
示例 1:
输入:nums = [0,1,0,3,12]
输出:[1,3,12,0,0]
示例 2:
输入:nums = [0]
输出:[0]
提示:
- 1 <= nums.length <= $10^4$
- $-2^{31}$ <= nums[i] <= $2^{31} - 1$
解析
双指针:一个指针记录非零元素应放的位置,另一个遍历数组。
1 | |
快慢指针,slow 指向下一个非零元素应放的位置。遍历一次即可完成,时间复杂度 O(n)。
283.移动零
https://leetcode.lz5z.com/283.move-zeroes/