算法,双指针,移除元素

91 阅读1分钟

移除元素

移除数组中指定的元素,返回移除后数组的长度,采用双指针,左右夹击,left移动的步数就是剩余数组的长度,并且把查找到的值用数组值覆盖掉

uu.jpg

  • input: nums=[2,2,3,3],val=2 ;
  • output:2 [3,3]
function removeElement(nums:number[],val:number):number{
    let left=0,right=nums.length
    while(left<right){
        if(nums[left]==val){
            nums[left]=nums[right-1]
            right--
        }else{
            left++
        }
    }
    return left
}