class Solution {
public:
int removeElement(vector<int>& nums, int val) {
if(nums.empty()||nums.size()==0) return 0;
int i=0;//i之前都排好了,
for(int j=0;j<nums.size();j++){//移动j,把不等于val的元素放到i中,i++
if(nums[j]!=val){
nums[i]=nums[j];
i++;
}
}
return i;
}
};
两个指针,i是排好的数组的下一个位置,j用来循环遍历数组,如果当前j不等于val,那么就要放到i那里,i++;最后返回i。