顺序表算法题
移除元素
思路:定义两个变量指向数组第一个位置,判断
nums[src]
是否等于val
- 相等,
src++
- 不相等,
nums[dst] = nums[src],src++,dst++
代码:
int removeElement(int* nums, int numsSize, int val) {
int src = 0,dst = 0;
while(src < numsSize){
if(nums[src] == val){
src++;
}
else{
nums[dst] = nums[src];
dst++;
src++;
}
}
//此时dst指向的位置就是要返回的有效个数
return dst;
}