跳至正文
View Categories

< 1 min read

310 合并有序链表1 #

  1. 问题描述
  2. 算法流程

问题描述 #

输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是递增排序的

算法流程 #

我们可以使用递归的方式完成合并的操作,并且需要考虑一些边界情况:
  1. 如果l1或者l2一开始就是空链表,那么没有任何操作需要合并,所以我们只需要返回非空链表
  2. 如果两者都是非空,则判断l1和l2哪一个链表的头结点的值更小,然后将链表头部值较小的一个结点与剩下元素的merge操作合并,注意这个一个递归操作
  3. 重复上述过程,直到l1或者l2为空为止

小结 #

  • 理解链表的递归合并过程
  • 掌握合并有序链表的方法
  • 习题 #

    1. 为什么首先需要判断边界情况?
    2. 使用迭代的方式可以完成合并吗?