SImple for loop based solution.
public:
int removeElement(vector<int>& nums, int val) {
int freq = 0;
for (int i=0; i< nums.size(); i++){
if (nums[i] == val){
freq++;
} else{
nums[i - freq] = nums[i];
}
}
return (nums.size() -freq);
}
};