链表面试题2:输入两个递增排序的链表,合并这两个链表并使新链表的结点仍然是按照递增排序的。
-
分析题目:根据题目可模拟画出如下示意图,须将链表1和链表2合并并排序为链表3
-
解题思路:
-
1、先找出链表1和链表二中较小的头结点,作为链表3的头结点
-
2、使链表3的头结点指向剩余链表中较小的头结点
-
3、重复找到剩余链表中较小结点,连向链表3
-
4、这一过程可以使用递归来做
-
每次传参传合并链表的尾结点和剩余链表中较小的结点
-
递归的截至条件是其中一条链表剩余结点为空
-
-
-
图解:
- 代码实现