初学c++笔记——链表(一)-创新互联

一道简单的链表题,将两个升序链表合并成一个新的升序链表

创新互联是一家以重庆网站建设公司、网页设计、品牌设计、软件运维、营销推广、小程序App开发等移动开发为一体互联网公司。已累计为混凝土搅拌罐等众行业中小客户提供优质的互联网建站和软件开发服务。

题目本身不难,这篇博客也不在于题这个解,单纯是因为我是一个初学C++的菜鸟,第一次写链表的时候被指针折磨,所以记录一下一些可以注意的点

相关代码

力扣中对单项链表的定义struct类

//Definition for singly-linked list.
 struct ListNode {
     int val;
     ListNode *next;
     ListNode() : val(0), next(nullptr) {}
     ListNode(int x) : val(x), next(nullptr) {}
     ListNode(int x, ListNode *next) : val(x), next(next) {}
 };

是很基本的由结点组成的单项链表,自身一个值val,指向下一个结点next

初始化新结点

ListNode* preHead = new ListNode;
ListNode* prev = preHead;

不能忘了在C++写法上ListNode* p和ListNode p的区别,在力扣提交后者会直接报错

题解放最后,用迭代比较简单

ListNode mTL(ListNode* l1, ListNode* l2)
{
    if(l1 == NULL) return l2;
    else if(l2 == NULL) return l1;
    else if(l1->val< l2->val){
        l1->next = mTL(l1->next, l2);
        return l1;
    }
    else{
        l2->next = mTL(l1->next, l2);
        return l2;
    }
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文标题:初学c++笔记——链表(一)-创新互联
转载源于:http://bzwzjz.com/article/dggcii.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站设计公司 响应式网站设计方案 企业网站建设 营销型网站建设 成都网站设计制作公司 品牌网站建设 移动手机网站制作 重庆电商网站建设 成都企业网站制作 成都网站设计 成都企业网站设计 成都网站设计 成都网站设计公司 定制级高端网站建设 商城网站建设 网站设计制作 手机网站设计 成都商城网站建设 上市集团网站建设 温江网站设计 宜宾网站设计 企业网站设计