leetcode-283移动零

90 阅读1分钟

题目

image.png leetcode

解题思路

  1. i指针遍历数组
  2. j指针当nums[i]非0时向前移动,并把nums[i]赋值给nums[j]
  3. 最后j后面的每一项赋值为0

JavaScript代码

var moveZeroes = function(nums) {
  let j = 0;
  for (let i = 0; i < nums.length; i++) {
    // 把不为0的数字移动到前面
    if (nums[i] !== 0) {
      nums[j] = nums[i];
      j++
    }
  }

  for (i = j; i < nums.length; i++) {
    // 把剩余的变为0
    nums[i] = 0;
  }
  return nums;
};