解题思路:
这道题和LeetCode第26题相似,直接上代码
代码:
int removeElement(vector<int>& nums, int val) {
int count=0;//count记录的是count下标之前没有val值;
for(int i=0;i<nums.size();i++){
if(nums[i]!=val)nums[count++]=nums[i];//因为count肯定比不大于i,所以如果不相等直接把nums[i]赋值给nums[count];
}
return count;//因为是返回数组的长度,又长度等于下标+1,因为每次赋值count都会自加一,所以不需要count+1。
}