注意!!!!:读清题目很重要
暴力解思想:设置两层循环,第一循环用来找和val值相等的元素如果元素相同将从该位置开始的所有元素前移一位,但是此时指针不动,为什么不动,因为如果该位置的元素与后一位置的元素值相等都等于val值,那个指针移动会漏掉。
代码如下:
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int i,j,length=nums.size();
for(i=0;i<length;i++)
{
if(nums[i]==val)
{
for(j=i+1;j<length;j++)
{
nums[j-1]=nums[j];
}
length--;//将所有元素前移,所以长度减一
i--;//元素前移,指针不动
}
}
return length;
}
};