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

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

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

#include<bits/stdc++.h>
using namespace std;
int main() {
    int n,head;
    cin>>n>>head;    //输入结点数和头结点的值
    forward_list<int> linklist;    //创建一个单向链表
    linklist.push_front(head);    //初始化头结点
    for(int i=1;i<n;i++) {
        int front,back;
        cin>>back>>front;
        auto it=find(linklist.begin(), linklist.end(), front);
        linklist.insert_after(it, back);    //逐个插入结点
    }
    int last;
    cin>>last;    //输入要删除的结点值
    linklist.remove(last);    //移除具有该值的节点
    for(auto it=linklist.begin();it!=linklist.end();it++) {
        cout<<*it<<" ";    //从头到尾输出链表的值
    }
    cout<<endl;
    return 0;
}
全部评论

相关推荐

笑着秋招😊:我一直认为努力有回报是一件很幸福很幸福的事情,恭喜你
点赞 评论 收藏
分享
渴望wlb的牛油果很...:直说卡第一学历不就行了 非得拐弯抹角
点赞 评论 收藏
分享
评论
55
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务