【Leetcode】27.移除元素

63 阅读1分钟

leetcode-27.png

leetcode-27.png 题目简述:将数组中等于val的值全部移除,在原数组之中进行操作,将不等于val的值全部往前挪动,不得留空隙,最后返回不等于val的数组的长度

这一题和26题的处理一样,设置快慢指针即可解决问题

var removeElement = function (nums, val) {
  let slow = 0, fast = 0
  while (fast < nums.length) {
    // 不相等,则都向前挪动
    if (nums[fast] !== val) {
      nums[slow++] = nums[fast++]
    } else {
      // 相等,则fast继续往前挪动
      // 直至寻找到不相等的点或者到终点
      fast++
    }
  }
  return slow
};