leecode27.移除元素

1.原题目链接:力扣

2.题目内容

leecode27.移除元素_第1张图片

3.测试用例说明:

leecode27.移除元素_第2张图片

3.思路: 逆向思维:把元素不相等的拿下来尾插,放入一个新的顺序表,返回新的顺序表的个数

具体地:由于删除数组中等于val的元素,所以新的数组大小一定小于等于原数组的大小,可以把输出的数组写到输入的数组上,使用双指针的方法,src与dst,当nums[src] == val,src++,不等于nums[dst] = nums[src] ,dst++,src++,直到src遍历到原数组中的最后一个.最后dst的位置就是数组中的个数

4.代码如下:

int removeElement(int * nums,int numsSize,int val)
{
   int src = 0;
   int dst = 0;
   while(src

你可能感兴趣的:(算法,c语言,数据结构)