LeetCode题解:27. 移除元素,JavaScript,详细注释

279 阅读1分钟

原题链接:27. 移除元素

解题思路:

  1. moveIndex始终指向存放不等于val的元素位置。
  2. 遍历nums,遇到不等于val的元素,就将其存入nums[moveIndex],并将moveIndex加1。
/**
 * @param {number[]} nums
 * @param {number} val
 * @return {number}
 */
var removeElement = function (nums, val) {
  let moveIndex = 0 // 放置不等于val的元素索引

  for (let i = 0; i < nums.length; i++) {
    // 遍历nums,将不等于val的元素放置在moveIndex位置,之后将moveIndex加1
    if (nums[i] !== val) {
      nums[moveIndex++] = nums[i]
    }
  }

  // moveIndex最终的值就是新的长度
  return moveIndex
}