Skip to content

Latest commit

 

History

History
21 lines (19 loc) · 527 Bytes

移除元素.md

File metadata and controls

21 lines (19 loc) · 527 Bytes
// 利用双指针技巧
function removeElement(nums, val) {
  // 声明一快一慢的两个指针
  let fast = 0,
    slow = 0;
  // 结束条件是快指针到达数组尾部
  while (fast < nums.length) {
    // 如果 fast 遇到需要去除的元素,则直接跳过,否则就告诉 slow 指针,并让 slow 前进一步
    if (nums[fast] != val) {
      nums[slow] = nums[fast];
      slow++;
    }
    fast++;
  }

  return slow;
}