27. Remove Element
题目简介
/**
* @param {number[]} nums
* @param {number} val
* @return {number}
*/
这题跟 26 有点像,题目给我们一个数字数组 nums 以及一个数字 val
要求我们将 nums 中不等于 val 的数字往前丢(修改原数组),最后返回有多少个不等于 val 的数字在数组中
解题思路
这题我们也需要用到两个指针来辅助
一个指针 target 负责指向最左边的等于 val 的元素下标
另一个指针 i 正常遍历数组
如果我们指针 i 遇到了不等于 val 的元素(nums[i] !== val),我们将 nums[i] 赋值给 nums[target],然后将 target++
最后我们返回 target 就是题目所求的不等于 val 的数字的数量
Javascript
/**
* @param {number[]} nums
* @param {number} val
* @return {number}
*/
var removeElement = function (nums, val) {
let target = 0
for (let i = 0; i < nums.length; i++) {
if (nums[i] !== val) {
nums[target] = nums[i]
target++
}
}
return target
};