题解 | #从单向链表中删除指定值的节点#

从单向链表中删除指定值的节点

http://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f

//C++容器实现
#include<iostream>
#include<vector>
using namespace std;
vector<int> v;
void Insert(int F,int N)
{
    int len=v.size();
    for(int i=0;i<len;++i)
    {
        if(v[i]==F)
        {
            v.insert(v.begin()+i+1,N);
            break;
        }
    }
    return;
}
int main()
{
    int npot;
    int head;
    while(cin>>npot>>head)
    {
        int first=0,next=0;
        v.push_back(head);
        for(int i=0;i<npot-1;++i)
        {
            cin>>next>>first;
            Insert(first, next);
        }
        int del=0;
        cin>>del;
        for(int i=0;i<v.size();++i)
        {
            if(v[i]==del)
            {
                v.erase(v.begin()+i);
                break;
            }
        }
        for(int i=0;i<v.size();++i)
        {
            cout<<v[i]<<" ";
        }
        cout<<endl;
        v.clear();
    }
    return 0;
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务