27. 移除元素 JavaScript实现

139 阅读1分钟

27. 移除元素

题目链接 下面的方法使用的就是双指针的做法,left控制元素的覆盖,right控制元素的遍历。 举例: 3 3 2 2的数组,val=3, 那么最后得到的数组是2 2 3 3 或者是 2 2 0 0.

var removeElement = function(nums, val) {
	// j控制不相等元素的数量
    let left = 0 ;
    
    // 相等跳过,不相等就覆盖前面的数据,从头开始覆盖即可。覆盖就是删除数组中等于val的元素
    // 覆盖多少,就是最后的剩余数组的长度
    for(let right=0; right<nums.length; right++){
        if(nums[right] != val){
            nums[left] = nums[right]
            left++
        }
    }
    return left
};