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

【LeetCode刷题(数据结构与算法)】:合并两个有序链表

在这里插入图片描述
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的
在这里插入图片描述

**思路:定义一个头尾指针置为NULL while循环依次比较两个链表的值的大小 遍历链表 比较完数值大小过后连接到tail的尾部 然后各自的链表的节点的next指针指向下一个结点的地址

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){if(list1==NULL){return list2;}else if(list2==NULL){return list1;}//定义一个head和tail//head和tail最初都置为NULL//tail=tail->next//尾部插入struct ListNode*head=NULL;struct ListNode*tail=NULL;while(list1&&list2){//取小的尾部插入if(list1->val<list2->val){if(tail==NULL){head=tail=list1;//tail=tail->next;}else{tail->next=list1;tail=tail->next;}list1=list1->next;   }else{if(tail==NULL){head=tail=list2;}else{tail->next=list2;tail=tail->next;}list2=list2->next; }}if(list1){tail->next=list1;}else if(list2){tail->next=list2;}return head;
}
http://www.lryc.cn/news/198758.html

相关文章:

  • spark DStream从不同数据源采集数据(RDD 队列、文件、diy 采集器、kafka)(scala 编程)
  • 【三:Mock服务的使用】
  • 驱动:驱动相关概念,内核模块编程,内核消息打印printk函数的使用
  • 【Qt控件之QListWidget】介绍及使用,利用QListWidget、QToolButton、和布局控件实现抽屉式组合控件
  • 【Java基础面试二十四】、String类有哪些方法?
  • [DRAFT] LLVM ThinLTO原理分析
  • 使用Gitlab构建简单流水线CI/CD
  • 【AIGC核心技术剖析】用于高效 3D 内容创建生成(从单视图图像生成高质量的纹理网格)
  • nginx平滑升级添加echo模块、localtion配置、rewrite配置
  • 系统架构师备考倒计时19天(每日知识点)
  • 谈谈 Redis 如何来实现分布式锁
  • .NET 6.0 Web API Hangfire
  • 基于java的校园论坛系统,ssm+jsp,Mysql数据库,前台用户+后台管理,完美运行,有一万多字论文
  • Django小白开发指南
  • 保序回归与金融时序数据
  • 基于单片机设计的家用自来水水质监测装置
  • ubuntu20.04运用startup application开机自启动python程序
  • SpringBoot整合Caffeine实现缓存
  • DVWA-弱会话IDS
  • 【C++中cin、cin.get()、cin.getline()、getline() 的区别】
  • SSH连接华为交换机慢
  • Web攻防03_MySQL注入_数据请求
  • JS加密/解密那些必须知道的事儿
  • 搭建伪分布式Hadoop
  • 【C++】特殊类的设计(只在堆、栈创建对象,单例对象)
  • 分类预测 | MATLAB实现基于GRU-AdaBoost门控循环单元结合AdaBoost多输入分类预测
  • 【Spring Boot项目】根据用户的角色控制数据库访问权限
  • EthernetIP 转MODBUS RTU协议网关连接FANUC机器人作为EthernetIP通信从站
  • 如何注册微信小程序
  • 移动App安全检测的必要性,app安全测试报告的编写注意事项