题3:移除元素

C++代码(法一):

int i,j=0;
    if(nums.size()==0)
    {
        return 0;
    }
    else
    {
        for(i=0;i<nums.size();i++)
        {
            if(nums[i]!=val)
            {
                nums[j]=nums[i];
                j++;
            }
        }
    }
    return j;

提交结果
在这里插入图片描述
解题思路

  1. 先判断数组内容是否为空,若为空则return 0,否则继续执行程序;
  2. 利用一个for循环和if语句判断数组元素是否和给定值相同,若相同则依次用下一元素覆盖该元素;
  3. 程序结束。

C++代码(法二):

int a,b,c=0,i,j;
    if(nums.size()==0)
    {
        return 0;
    }
    else
    {
        for(i=0;i<nums.size()-c;i++)
        {
            if(nums[i]==val)
            {
                c=c+1;
                b=i;
                for(j=b+1;j<nums.size();j++)
                {
                    nums[b]=nums[j];
                    ++b;
                }
                i--;
            }
        }
    }
    return nums.size()-c;

提交结果
在这里插入图片描述
解题思路

  1. 先判断数组内容是否为空,若为空则return 0,否则继续执行程序;
  2. 利用for循环和if语句判断数组元素是否等于给定值,若相等则用另一for循环使得该元素之后元素被依次覆盖,最后输出不等于给定值的所有元素;
  3. 程序结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值