学会思考
刻意练习

Given an array and a value, remove all instances of that value in place and return the new length. 

The order of elements can be changed. It doesn't matter what you leave beyond the new length.

 

//O(n),O(1)

class Solution{
    public:
        int removeElement(vector<int>& nums, int target){
            int index = 0;
            for(int i = 0; i < nums.size(); ++i){
                if(nums[i] != target){
                    nums[index++] = nums[i];
                }
            }
            return index;
        }
};


class Solution{
    public:
        int removeElement(vector<int>& nums, int target){
            return distance(nums.begin(),remove(nums.begin(),nums.end(),target));
        }
};

 

posted on 2019-08-26 23:20  Worty  阅读(126)  评论(0编辑  收藏  举报