一、题目描述
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
1 | 输入:1->2->4, 1->3->4 |
二、题解
1.算法描述
- 迭代法
- 递归法
2.个人分析
我使用的是迭代法(参考官解)
首先,定义一个假头节点,便于将两个链表连接起来,并定义一个哨兵指针指向这个假头节点,方便我们返回最后得到的链表;
然后,开始遍历链表一和链表二,当链表一和链表二都不为空时,pre指针总是指向val较小的节点;
然后,pre指针始终指向所求的有序链表的最后一个节点;
最后,将链表一和链表二中仍然不为空的链表接在最后
3.代码
1 | /** |
三、PS
递归法不是很理解,详细请参考👉官方答案