题解 | #【模板】链表#

【模板】链表

https://www.nowcoder.com/practice/97dc1ac2311046618fd19960041e3c6f

#include<iostream>
using namespace std;

class List{
private:
    struct ListNode{
    int val;
    ListNode* next;
    ListNode(int n):val(n),next(NULL){}
    };
    ListNode* head=NULL;
public:
    List(){}
    void m_insert(int x,int y){
        ListNode* res=new ListNode(0);
        res->next=head;
        ListNode* pre=res;
        ListNode* cur=head;
        while(cur!=NULL){
            if(cur->val==x){
                ListNode* newnode=new ListNode(y);
                newnode->next=cur;
                pre->next=newnode;
                break;
            }
            pre=cur;
            cur=cur->next;
        }
        if(cur==NULL){
            ListNode* newnode=new ListNode(y);
            newnode->next=cur;
            pre->next=newnode;
        }
        head=res->next;//更新头节点
        free(res);
    }
    void m_delete(int x){
        ListNode* res=new ListNode(0);
        res->next=head;
        ListNode* pre=res;
        ListNode* cur=head;
        while(cur!=NULL){
            if(cur->val==x){
               pre->next=cur->next;
            }
            pre=cur;
            cur=cur->next;
        }
        head=res->next;
        free(res);
    }
    void print(){
        ListNode* cur=head;
        while(cur!=NULL){
            cout<<cur->val<<' ';
            cur=cur->next;
        }
    }
};
int main(){
    int n;
    cin>>n;
    string str;
    List li;
    for(int i=0;i<n;i++){
        cin>>str;
        int x,y;
        if(str=="insert"){
            cin>>x>>y;
            li.m_insert(x,y);
        }
        if(str=="delete"){
            cin>>x;
            li.m_delete(x);
        }
    }
    li.print();
}

全部评论

相关推荐

昨天 17:22
已编辑
西安交通大学 Java
华为 ai软件开发 薪资20k x (14-16),职级13A,5%公积金,c/cpp
BLOOMING7:闭眼滴滴,华子给的又少又累
点赞 评论 收藏
分享
一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务