// 利用双指针技巧
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;
}