C++
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int a = 0;
for(int i=0; i<nums.size()-a; ){
if(nums[i] == val){
swap(nums[i],nums[nums.size()-a-1]);
a++;
}else{
i++;
}
}
return nums.size() -a;
}
};
或者
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int slow=0 , fast=0;
for(fast=0; fast<nums.size(); fast++){
if(nums[fast] != val){
nums[slow++] = nums[fast];
}
}
return slow;
}
};