27. Remove Element

原创 2016年08月30日 11:05:38

这里写图片描述

注意vector中删除的用法nums.erase(nums.begin()+i)

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        if(0==nums.size())
            return 0;
        sort(nums.begin(),nums.end());
        for(int i=0;i<nums.size();)
        {
            if(nums[i]<val)
                i++;
            else if(val==nums[i])
                nums.erase(nums.begin()+i);
            else
                break;
        }
        return nums.size();
    }
};
int main()
{
    vector<int>number;
    int N,x;
    cin>>N;
    for(int i=0;i<N;i++)
    {
        cin>>x;
        number.push_back(x);
    }
    int result;
    Solution solve;
    int target;
    cin>>target;
    result=solve.removeElement(number,target);
    cout<<result<<endl;
    for(i=0;i<number.size();i++)
        cout<<number[i]<<' ';
    return 0;
}

第二种方法:双指针维护

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

第三种方法;

class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        for(int i=0;i<nums.size();)
        {
            if(val==nums[i])
                nums.erase(nums.begin()+i);
            else
                i++;
        }
        return nums.size();
    }
};
版权声明:本文为博主原创文章,未经博主允许不得转载。

Remove Element的两种解法

Given an array and a value, remove all instances of that value in place and return the new length. ...
  • u011487593
  • u011487593
  • 2015年05月12日 20:51
  • 734

关于LeetCode中Remove Element一题的理解

题目如下: Given an array and a value, remove all instances of that value in place and return the ne...
  • zsy112371
  • zsy112371
  • 2016年09月02日 21:05
  • 334

C++中Vector的erase()操作以及与remove的区别

vector v; v.pushback(0); v.pushback(1); v.pushback(1); v.pushback(0); 想要删除值为1的元素 错误代码  vecto...
  • zzuchengming
  • zzuchengming
  • 2016年03月15日 13:05
  • 2235

数据结构和算法------BinarySearchTree的实现

public class BinarySearchTree
  • sinat_33661267
  • sinat_33661267
  • 2016年11月18日 17:41
  • 479

Remove Element 数组中删除给定元素 @ LeetCode

/** * * Remove Duplicates from Sorted Array * * Given a sorted array, remove the duplicates i...
  • hellobinfeng
  • hellobinfeng
  • 2013年10月14日 23:22
  • 3090

Remove Element(去除数组中重复的值)

Given an array and a value, remove all instances of that value in place and return the new length. ...
  • qq_36251958
  • qq_36251958
  • 2017年07月26日 21:34
  • 83

LeetCode Remove Element 快速删除数组中的某一值

为初级入门题了。 两种思路: 1 如果找到特定值那么用最后一个元素值覆盖之,最后元素往前进一个元素 2 一个快指针,一个慢指针,不等于特定值的时候,把快指针指向值覆盖慢指针值。这里是用下标表示指...
  • kenden23
  • kenden23
  • 2013年11月26日 16:47
  • 1104

Remove Element(删除重复元素,循环删除2个及2个以上元素)

Given an array and a value, remove all instances of that value in place and return the new length. ...
  • My_Jobs
  • My_Jobs
  • 2015年04月22日 22:04
  • 610

Remove Element针对删除元素多和少的两种情况解析

今天做的LeetCode27还是蛮简单的,但是收获很大。 此题的目的就是在序列中删除指定值。 可以这么办 从头开始遍历数组 用count计数:记录这个元素在数组中出现的次数 每个元素依次向前...
  • yinyanting1
  • yinyanting1
  • 2017年02月22日 18:39
  • 104

Element和Node的区别你造吗?

1.写在前面 我们经常使用document.getElementById去获取DOM中的元素,也会使用childNodes来获取子节点。那么Element和Node的区别是什么?而什么又是HTML...
  • kkkkkxiaofei
  • kkkkkxiaofei
  • 2016年09月21日 15:08
  • 5489
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:27. Remove Element
举报原因:
原因补充:

(最多只允许输入30个字)