```
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int n=nums.size();
int end=n;
for(int i=0;i<end;i++)
{
if(nums[i]==val)
{
while(nums[end-1]==val){end--;}
swap(nums[i],nums[end-1]);
end--;
}
}
return end;
}
};
```