当前位置: 首页 > news >正文

三明市网站建设_网站建设公司_数据备份_seo优化

免费下载建设银行官方网站,wordpress防偷代码,宁波室内设计公司排名,自适应网站模板怎么做原题链接#xff1a;https://leetcode.cn/problems/merge-two-sorted-lists/description/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 可以先创建一个空链表#xff0c;然后依次从两个有序链表中选取最小的进行尾插操作。#xff08;有点类似双…原题链接https://leetcode.cn/problems/merge-two-sorted-lists/description/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 可以先创建一个空链表然后依次从两个有序链表中选取最小的进行尾插操作。有点类似双指针的操作~ 我们可以用不带哨兵位和带哨兵位两种方法实现 不带哨兵位 如果两个链表有一个为空直接返回另一个链表即可。 如果两个链表都是非空的我们就创建一个结构体指针head和一个结构体指针tail都初始化为空指针NULL之后分别用来指向新链表的头和尾。 同时遍历两个链表当有一个链表遍历完时停止。这里使用while(list1list2)进行循环。 当空链表插入第一个结点也就是tailNULL时需要单独考虑让头指针head和尾指针next都指向此时值较小的那个结点即可。 其他情况正常尾插即可就是让tail-next指向值较小的结点。之后让tail指向当前插入的结点也就是让tail往后走一步然后让相对应的list1或者list2往后走一步即可。 因为有可能while循环结束时还有链表的结点没有被插入到新链表。所以我们要用if语句判断将剩余的结点直接插入到新链表。 最后我们返回头指针head即可。 带哨兵位 带哨兵位最大的好处是方便尾插不用单独考虑在新链表插入第一个结点时的情况了因为带哨兵位让每一个结点地位都一样了。 这里相比不带哨兵位多的一些操作就是要先用malloc()函数申请一个结点作为哨兵位让head和tail一开始都直接指向这个结点。 当完成合并操作后让头指针head往后走一步指向哨兵位后面一个结点。 然后使用free()释放掉哨兵位。 最后返回head即可。 3. 代码实现 不带哨兵位 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){if(list1NULL)return list2;if(list2NULL)return list1;struct ListNode *headNULL,*tailNULL;while(list1list2){if(list1-vallist2-val){if(tailNULL){headtaillist1;}else{tail-nextlist1;tailtail-next;}list1list1-next;}else{if(tailNULL){headtaillist2;}else{tail-nextlist2;tailtail-next;}list2list2-next;}}if(list1)tail-nextlist1;if(list2)tail-nextlist2;return head; } 带哨兵位 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){if(list1NULL)return list2;if(list2NULL)return list1;struct ListNode *headNULL,*tailNULL;//带一个哨兵位方便尾插headtail(struct ListNode*)malloc(sizeof(struct ListNode));while(list1list2){if(list1-vallist2-val){tail-nextlist1;tailtail-next;list1list1-next;}else{tail-nextlist2;tailtail-next;list2list2-next;}}if(list1)tail-nextlist1;if(list2)tail-nextlist2;struct ListNode *delhead;headhead-next;free(del);return head; }
http://www.lebaoying.cn/news/68364.html

相关文章:

  • 微信商城网站建设做短连接的网站
  • 用php做网站的原理wordpress 404 apache
  • 宁波网站建设的价格表网站常用参数
  • 淄博 做网站巫山网站制作
  • 网站建设免费建站做外贸到什么网站上发布比较好
  • wordpress 数据库链接太原百度seo排名
  • 东莞网站建设信科分公司网站建设要不要监理
  • 东莞单位网站建设门源网站建设公司
  • 嘉兴免费网站制作免费的分销小程序
  • 做网站怎么申请域名国外的网站模板
  • phpcms中英文网站模板厦门模版网站
  • 国外免费域名网站企业网站建设的可行性分析
  • 关于建设 医院网站的请示c语言新手入门代码
  • 宜昌城市建设学校网站网站上面图片上传尺寸
  • 深圳南山住房和建设局网站官网武夷山网站推广服务
  • 网站后台域名登陆软件设计师培训体系
  • 网站设计的公司北京wordpress iis
  • 做微课的网站有哪些方面医院建设网站与托管
  • 做服装有哪些好的网站有哪些方面使用织梦系统建设网站
  • 哈尔滨网站域名归那里管微信哪家公司开发的
  • 全国做网站公司排名网站开发都有哪些语言
  • 微信推送在哪个网站做简约大方的网站
  • 建立网站根目录下东莞免费做网站
  • wap网站制作软件注册网站用户名怎么填写
  • 如何别人看自己做的网站便宜的网站建设
  • 长沙市网站建设公司没有域名可以做网站
  • 湛江做建站软仿婚纱照网站制作
  • 网站建设全流程图北京做网站的外包公司
  • 重庆哪家做网站许昌市网站建设找汉狮
  • 免费做简历下载的网站深圳市工程招标网中标公告