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

合并两个有序链表——力扣21

题目描述

在这里插入图片描述
在这里插入图片描述

法一 递归

在这里插入图片描述

class Solution {
public:ListNode* mergeTwoLists(ListNode *l1, ListNode*l2){if(l1 == nullptr){return l2;} else if (l2==nullptr){return l1;} else if (l1->val<l2->val){l1->next = mergeTwoLists(l1->next, l2);return l1;} else {l2->next = mergeTwoLists(l1, l2->next);return l2;}}
};

在这里插入图片描述

法二 迭代

1.使用dumy->next来保存需要返回的头结点,注意创建新结点的语法 ListNode* dummy = new ListNode(-1)
2.判断l1,l2哪个值更小,并用 pp指针 来存储更小的结点指针,帮助dummy连接后,控制更小的l1,l2往后移动
直到,一边有nullptr,把另一边都接上

class Solution {
public:ListNode* mergeTwoLists(ListNode* l1, ListNode* l2){ListNode* dummy = new ListNode(-1);   //创建一个新的头节点 ListNode* cur = dummy;while(l1 && l2){ListNode* pp = (l1->val < l2->val) ? l1 : l2;cur->next = pp;cur = cur->next;if(pp==l1) {l1=l1->next; } else{l2 = l2->next;} }cur->next = (l1==nullptr) ? l2 : l1;ListNode* res = dummy->next;delete dummy;return res;	}//version2ListNode* mergeTwoLists(ListNode* l1, ListNode* l2){if((!l1) || (!l2)) return l1 ? l1 : l2;ListNode* dummy = new ListNode(-1);   //创建一个新的头节点 ListNode *cur=dummy, *aPtr = l1, *bPtr = l2;while(aPtr && bPtr){if(aPtr->val < bPtr->val){dummy->next = aPtr;aPtr = aPtr->next;} else {dummy->next = bPtr;bPtr = bPtr->next;}dummy = dummy->next;}dummy->next = aPtr ? aPtr : bPtr;return cur->next;	}
};

在这里插入图片描述

http://www.lryc.cn/news/98315.html

相关文章:

  • 企业数据,大语言模型和矢量数据库
  • LabVIEW使用支持向量机对脑磁共振成像进行图像分类
  • kafka面试题
  • 树的遍历(一题直接理解中序、后序、层序遍历,以及树的存储)
  • JVM系统优化实践(22):GC生产环境案例(五)
  • DevOps系列文章 之GitLabCI模板库的流水线
  • spring扩展点ApplicationContextAware解释
  • 力扣热门100题之最大子数组和【中等】【动态规划】
  • 导出为PDF加封面且分页处理dom元素分割
  • 【C++入门】浅谈类、对象和 this 指针
  • 【Linux命令200例】indent对C语言代码进行缩进和格式化
  • Hive 调优集锦(1)
  • 【C++详解】——智能指针
  • Jmeter接口/性能测试,Jmeter使用教程(超细整理)
  • 59,综合案例-演讲比赛流程管理系统
  • 前端JS 展示上传图片缩略图(本地图片读取)
  • Vue中$route和$router的区别
  • 基于多任务学习卷积神经网络的皮肤损伤联合分割与分类
  • 串口环形缓冲区
  • 【腾讯云 Cloud Studio 实战训练营】基于Cloud Studio完成简易通讯录
  • 【技术积累】Vue.js中的核心知识
  • flutter开发实战-显示本地图片网络图片及缓存目录图片
  • 面对未来的算法备案法规:企业需要做哪些准备?
  • iptables的备份和还原
  • easyUI框架学习
  • 加入气压计模组,星斗3号将实现快速三维定位
  • 华为HCIP第二节-------------------------ISIS
  • 在Mac系统下搭建Selenium环境并驱动Chrome浏览器
  • 通过RPM方式安装,升级,卸载,以及配置使用MySQL
  • 六边形架构和分层架构的区别?