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

leetcode hot100刷题日记——29.合并两个有序链表

在这里插入图片描述
解答:

方法一:递归
递归的边界条件是啥呢?
递归别想那么多具体步骤,考虑大步骤,小的递归自己会去做的

class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {//递归比较大小//先考虑递归边界是什么?//如果一条链表遍历到了空节点,说明另一条链表已经排好序了//返回另一条链表if(!list1){return list2;}if(!list2){return list1;}//如果两条链表都还是非空,说明还在递归过程中//如果list1的当前节点值<list2的当前节点值// 那么我们应该把递归返回的链表放在list1的后面if(list1->val<list2->val){list1->next=mergeTwoLists(list1->next,list2);return list1;}//否则,我们就应该把递归返回的链表放在list2的后面list2->next=mergeTwoLists(list1,list2->next);return list2;}
};

时间复杂度:O(n+m)
空间复杂度:O(n+m)

方法二:迭代
参考灵山大大的题解写的
哨兵节点其实就是虚拟头节点

class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {ListNode dummy{};auto cur=&dummy;while(list1&&list2){if(list1->val<list2->val){cur->next=list1;list1=list1->next;}else{cur->next=list2;list2=list2->next;}cur=cur->next;}cur->next=list1?list1:list2;return dummy.next;}
};

时间复杂度:O(n+m)
空间复杂度:O(1)

相关文章:

  • 历年武汉大学计算机保研上机真题
  • USB充电检测仪-2.USB充电检测仪硬件设计
  • 解决访问网站提示“405 很抱歉,由于您访问的URL有可能对网站造成安全威胁,您的访问被阻断”问题
  • 数据库暴露--Get型注入攻击
  • RPA如何支持跨平台和跨浏览器的自动化
  • DeviceNET转EtherCAT网关:医院药房自动化的智能升级神经中枢
  • 【实例】事业单位学习平台自动化操作
  • 私有云大数据部署:从开发到生产(Docker、K8s、HDFS/Flink on K8s)
  • WordPress SureTriggers插件认证绕过漏洞(CVE-2025-3102)
  • 火狐安装自动录制表单教程——仙盟自动化运营大衍灵机——仙盟创梦IDE
  • 移动安全Android——客户端数据安全
  • 【Linux】权限相关指令
  • 小程序32-简易双向数据绑定
  • 3DMAX+Photoshop教程:将树木和人物添加到户外建筑场景中的方法
  • Electron-vite【实战】MD 编辑器 -- 文件列表(含右键快捷菜单,重命名文件,删除本地文件,打开本地目录等)
  • 深入详解DICOMweb:WADO与STOW-RS的技术解析与实现
  • React-props
  • Go语言使用阿里云模版短信服务
  • AAAI 2025论文分享│STD-PLM:基于预训练语言模型的时空数据预测与补全方法
  • LVS-DR 负载均衡集群
  • 做愛表情网站/网站分析报告范文
  • 怎样用网站做淘宝客/seo实训报告
  • 有没有专门做包装设计的网站/资阳地seo
  • 华为应用市场app下载/泰州百度seo公司
  • 新乡网站制作/b站在线观看人数在哪
  • 做商务网站服务/太原百度推广排名优化