移动零

#算法/双指针 #leetcode #2024/07/28

目录

题目及理解

image.png

解题思路

其实就是 移除元素 (指定移动哪个元素) 的特殊版本,这里指定移动0

  • 双指针:slowfast
  • slow 之后的值换成 0 即可

代码实现

/**
 * @param {number[]} nums
 * @return {void} Do not return anything, modify nums in-place instead.
 */
var moveZeroes = function (nums) {
  let slow = 0;
  let fast = 0;
  while (fast < nums.length) {
    if (nums[fast] !== 0) {
      nums[slow] = nums[fast];
      slow++;
    }
    fast++;
  }
  for (let i = slow; i < nums.length; i++) {
    nums[i] = 0;
  }
  return nums;
};

错误记录