题目

解答

由说明可知,根据函数返回的长度,会打印数组中该长度范围内的所有元素。用了一个循环,遍历数组中的所有数据,将非目标移除元素逐项赋值到该数组中,每对该数组重新赋值一次,下次赋值位置向后移一位。最后返回赋值次数。
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int k=0;
for(int i=0;i<nums.size();i++)
if(nums[i]!=val)
{
nums[k]=nums[i];
k++;
}
return k;
}
};