将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []
输出:[]

示例 3:

输入:l1 = [], l2 = [0]
输出:[0]

解法1:

思路:建立一个空的链表,通过传值的形式,把小的值传入到新链表里。

class Solution(object):def mergeTwoLists(self,l1,l2):merge = ListNode()merge1 = mergecurr1 = l1curr2 = l2while curr1 != None and curr2 != None:if curr1.val <= curr2.val:merge1.next = curr1curr1 = curr1.nextelse:merge1.next = curr2curr2 = curr2.nextmerge1 = merge1.nextif curr1 != None:merge1.next = curr1else:merge1.next = curr2return merge.next

解法2:递归

class Solution:def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:if l1== None:return l2if l2 == None:return l1if l1.val < l2.val:l1.next = self.mergeTwoLists(l1.next,l2)return l1else:l2.next = self.mergeTwoLists(l1,l2.next)return l2

[leetcode] 21.合并两个有序链表相关推荐

  1. [递归|迭代] leetcode 21 合并两个有序链表

    [递归|迭代] leetcode 21 合并两个有序链表 1.题目 题目链接 将两个升序链表合并为一个新的升序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2 ...

  2. LeetCode 21. 合并两个有序链表(链表)

    上一篇博客:LeetCode 20. 有效的括号(栈.字符串)  写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.最近萌生了刷LeetCode ...

  3. Java实现 LeetCode 21 合并两个有序链表

    21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1 ...

  4. LeetCode 21合并两个有序链表22括号生成

    微信搜索bigsai,回复进群,加入打卡.维护不易,欢迎点赞支持! 合并两个有序列表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1 ...

  5. 【Java】leetCode 21 合并两个有序链表

    题目 : 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 解题思路 : 1.依据以上两个升序链表进行拼接: 2.先定义一个傀儡节点newHead,用来 ...

  6. LeetCode 21. 合并两个有序链表(单链表)

    文章目录 1. 题目信息 2. 解题 1. 题目信息 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例:输入:1->2->4, 1-> ...

  7. leetcode - 21. 合并两个有序链表

    将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1->2- ...

  8. leetcode 21.合并两个有序链表

    题目 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1-> ...

  9. LeetCode 21 ——合并两个有序链表

    1. 题目 2. 解答 新建一个带有哨兵结点的链表,依次比较两个有序链表的结点值,将较小值的结点插入到新链表后面.直到其中一个比较完毕,将另一个链表剩余的结点全部放到新链表最后面即可.最后,可以删除哨 ...

  10. 81. Leetcode 21. 合并两个有序链表 (排序)

    将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例 1:输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] ...

最新文章

  1. FutureTask demo
  2. oracle中join另一个表后会查询不出一些数据_阿里规定超过3张表,禁止JOIN,为何?
  3. 有限单元法基本原理和数值方法_有限元法分析结果的四类误差,你知道吗?
  4. java 位运算_java学习之运算符与表达式(四)
  5. linux 脚本 整数 赋值,shell基础!!熟悉编程规范与变量
  6. python 网络渗透_python 网络编程(渗透与编程一)
  7. 在tomcat文件夹下启动war项目
  8. win10系统安装SQLServer2008r2最全教程
  9. Python内置函数详解
  10. OSI网络七层协议以及每层的作用
  11. MPQ文件系统优化(续)
  12. java计算机毕业设计小区失物招领网站源程序+mysql+系统+lw文档+远程调试
  13. 中职计算机应用教学的重要性,中职《计算机应用基础》教学中理实一体化的有效开展...
  14. 校验导入的Excel文件标题行与要求的标题行是否一致
  15. java中retry的使用
  16. 【pycharm matlibplot中横轴与纵轴的刻度线向内如何调整】
  17. 高校借力泛微,搭建一体化、流程化的​内控管理平台
  18. 单片机STC89C52
  19. 微信小程序request 、跨域问题
  20. SEO动态渲染的烟雾测试

热门文章

  1. Java 14 发布了,终于可以扔掉Lombok了?
  2. 详解分布式一致性机制
  3. 这代码写的跟狗屎一样!怎么优化?
  4. 通过 Go 语言来实现 DDD 分层设计,美滋滋!
  5. Google开源框架AutoFlip 实现视频智能剪裁
  6. 《Go语言圣经》学习笔记 第八章 Groroutines和Channels
  7. 数据结构与算法之二叉树的先序遍历,中序遍历,后序遍历
  8. 学习方法之06为什么你的计划总是完不成
  9. 三年之久的 etcd3 数据不一致 bug 分析
  10. 新一代海量数据搜索引擎 TurboSearch 来了!