[LeetCode] Remove Element 移除元素

给定一个数组和一个值,在这个数组中原地移除指定值和返回移除后新的数组长度。
不要为其他数组分配额外空间,你必须使用 O(1) 的额外内存原地修改这个输入数组。
元素的顺序可以改变。超过返回的新的数组长度以外的数据无论是什么都没关系。

示例:

给定 nums = [3,2,2,3],val = 3,
你的函数应该返回 长度 = 2,数组的前两个元素是 2。

思路:定义一个变量用来计数,遍历原数组,如果当前的值和给定值不同,我们就把当前值覆盖计数变量的位置,并将计数变量加1。

/**
 * @param {number[]} nums
 * @param {number} val
 * @return {number}
 */
var removeElement = function(nums, val) {
    let res = 0;
    for(let i=0; iif(nums[i]!==val) nums[res++] = nums[i];
    }
    return res;
};

你可能感兴趣的:(Leetcode)