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

Day108 | 灵神 | 合并两个有序链表

Day108 | 灵神 | 合并两个有序链表

21. 合并两个有序链表 - 力扣(LeetCode)

思路:

这是道easy题,直接写就行

说一下递归的写法

递归函数的含义是合并两个有序链表,返回值是合并后的链表的头结点

递归边界:如果其中一个链表为空,直接返回另一个链表作为合并后的结果

本层逻辑:谁小就把谁接到当前结点的后面,然后返回当前结点作为合并后的结果

完整代码:

class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {ListNode *t=new ListNode;ListNode *res=t;while(list1&&list2){if(list1->val<list2->val){t->next=list1;list1=list1->next;}else{t->next=list2;list2=list2->next;}t=t->next;}t->next=list1?list1:list2;return res->next;}
};
class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {if (list1 == nullptr) return list2; // 注:如果都为空则返回空if (list2 == nullptr) return list1;if (list1->val < list2->val) {list1->next = mergeTwoLists(list1->next, list2);return list1;}list2->next = mergeTwoLists(list1, list2->next);return list2;}
};

相关文章:

  • Matlab自学笔记
  • 网工_UDP协议
  • JavaWeb学习打卡-Day7-正向代理、反向代理、Nginx
  • C++--入门基础
  • JVM 如何使用性能分析工具定位代码中的性能问题?
  • 基于bert的情感分析程序
  • 【安装指南】DevC++的安装和使用(超级详细)
  • 【Linux】Linux奇技淫巧
  • 从0开始建立Github个人博客(hugoPaperMod)
  • ubuntu的libc 库被我 sudo apt-get --reinstall install libc6搞没了
  • AI人工智能的接入和使用
  • Matplotlib核心课程-2
  • 【符号调制技术与载波调制技术】
  • Controller层接收参数方式
  • Java学习手册:Spring Boot 自动配置与快速开发
  • RISCV的smstateen-ssstateen扩展
  • 方案精读:虚拟电厂“七问七答”详解【附全文阅读】
  • 人工智能项目开发项目
  • Android面试总结之jet pack模块化组件篇
  • 2505ahk,wmi学习
  • 包揽金银!王宗源、郑九源夺得跳水世界杯总决赛男子3米板冠亚军
  • 铁路12306回应“五一前大量放票”传闻:个别方向和区段出现新增票额,均即时进入系统重新发售
  • 投资者建议发行优惠套票给“被套”小股东,张家界:将研究考虑
  • 张炜琳已任三明市委常委、宣传部部长
  • 习近平就伊朗发生严重爆炸事件向伊朗总统佩泽希齐扬致慰问电
  • 法治日报调查直播间“杀熟”乱象:熟客越买越贵,举证难维权不易