【leetcode】27. Remove Element

来源:互联网 发布:js原型链最上层对象是 编辑:程序博客网 时间:2024/06/08 08:20
/** * Given an array and a value, remove all instances of that value in place and return the new length. * * Do not allocate extra space for another array, you must do this in place with constant memory. * * The order of elements can be changed. It doesn't matter what you leave beyond the new length. * * Example: * Given input array nums = [3,2,2,3], val = 3 * * Your function should return length = 2, with the first two elements of nums being 2 */#include <iostream>#include <string>#include <vector>using namespace std;int removeElement(vector<int>& nums, int val) {    if (nums.empty()) return 0;    int counter = 0;        int len = nums.size();    vector<int>::iterator it = nums.begin();    for (; it != nums.end();)    {        if (*it == val)        {            counter++;            it = nums.erase(it);        }        else        {                   it++;        }    }    return len - counter;}int main(){    vector<int> nums{ 3, 2, 2, 3, 3 };    cout << removeElement(nums, 3);    system("pause");    return 0;}
0 0
原创粉丝点击