问题翻译:
给定一个vector,去除掉里边的和val相同的值。
解决方案:
很简单,只需要遍历一下,之后使用 it=num.erase(it)即可实现该功能。
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
int removeElement(vector<int>& num, int val)
{
if (num.size() == 0)
return 0;
vector<int>::iterator iter = num.begin();
while (iter != num.end())
{
if (*iter == val)
iter = num.erase(iter);
else
iter++;
}
return num.size();
}
};
int main()
{
vector<int> zla = { 0,1,2,2,3,0,4,2 };
int val=3;
Solution so;
int n = so.removeElement(zla, val);
cout << n << endl;
int length = zla.size();
for (int i = 0; i < length; i++)
cout << zla[i] << " ";
cout << endl;
system("pause");
return 0;
}