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;
提交结果:
解题思路:
- 先判断数组内容是否为空,若为空则return 0,否则继续执行程序;
- 利用一个for循环和if语句判断数组元素是否和给定值相同,若相同则依次用下一元素覆盖该元素;
- 程序结束。
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;
提交结果:
解题思路:
- 先判断数组内容是否为空,若为空则return 0,否则继续执行程序;
- 利用for循环和if语句判断数组元素是否等于给定值,若相等则用另一for循环使得该元素之后元素被依次覆盖,最后输出不等于给定值的所有元素;
- 程序结束。