题目—移除元素

1.题目要求

27. 移除元素 - 力扣(LeetCode)

2.题目解析

双指针法:

创建两个变量src,dst

1)若src指向的值为val,则src++

2)若src指向的值不是val,nums[dst] = nums[src], src++, dst++

3.代码展示

复制代码
//numsSize表示数组的长度
int removeElement(int* nums, int numsSize, int val) {
    //先创建两个变量
    int src = 0;
    int dst = 0;
    while(src<numsSize)
    {
        if(nums[src]==val)
        {
            src++;
        }else
        {
            //赋值,两指针++
            nums[dst]=nums[src];
            src++;
            dst++;
        }
    }
    //此时dst的值刚好就是新数组的长度
    return dst;
}