310 合并有序链表1 #
- 问题描述
- 算法流程
问题描述 #
输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是递增排序的
算法流程 #
我们可以使用递归的方式完成合并的操作,并且需要考虑一些边界情况:
- 如果l1或者l2一开始就是空链表,那么没有任何操作需要合并,所以我们只需要返回非空链表
- 如果两者都是非空,则判断l1和l2哪一个链表的头结点的值更小,然后将链表头部值较小的一个结点与剩下元素的merge操作合并,注意这个一个递归操作
- 重复上述过程,直到l1或者l2为空为止
小结 #
习题 #
- 为什么首先需要判断边界情况?
- 使用迭代的方式可以完成合并吗?