Day14-移动零
📌 题目描述
给定一个数组 nums
,编写一个函数将所有 0
移动到数组的末尾,同时保持非零元素的相对顺序不变。
示例:
1 | 输入: [0,1,0,3,12] |
💡 解题思路
- 用一个指针
lastNonZeroIndex
来记录下一个应该放非零元素的位置; - 遍历一遍数组,遇到非零就放到该位置;
- 遍历结束后,从该位置开始补零。
✅ JavaScript 实现
1 | var moveZeroes = function(nums) { |
🧠 思考拓展
- 如果不能修改原数组呢?怎么做?
- 如何最少操作次数完成移动?
- 是否可以双指针优化版本?