当前位置: 首页 > 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;}
};
http://www.dtcms.com/a/168679.html

相关文章:

  • 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学习
  • 本地服务验证-仙盟创梦IDE-智能编程,编程自动备份+编程审计
  • Redis 主从复制部署
  • 生成多个密钥对ssh的key
  • 当MCP撞进云宇宙:多芯片封装如何重构云计算的“芯“未来?
  • 数字智慧方案5857丨智慧机场解决方案与应用(53页PPT)(文末有下载方式)
  • nextTick的作用
  • flowable 使用流程服务
  • 【STM32】定时器的外部时钟模式
  • 如何提升自我情绪管理的能力?
  • 沥青路面裂缝的目标检测与图像分类任务