数组oj 移除元素

发布时间:2024年01月22日

思路用双指针更简单,直接用一个数组,开始src和dst都为0,一起往后走(先走dst),当dst遇到val就停下,src接着走,走到不是val的地方,然后把src赋值给dst,在一起++,往后面走。结束条件是src走到结尾。

?

?

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

    while(src<numsSize) //src结尾就结束了
    {
        if(nums[src]!=val)
        {
        nums[det++]=nums[src++];//先加det
        }
        else
   src++; 
     }
        return det;  
}

文章来源:https://blog.csdn.net/m0_71920611/article/details/135740267
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。