剑指offer之合并两个排序的链表
2015-04-27 18:13
253 查看
问题:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的?
需要合并的链表为1和2,合并后的效果如3。
分析:
首先分析合并两个链表的过程。我们的分析从合并两个链表的头结点开始。链表1的头结点的值小于链表2的头结点的值,因此链表1的头结点将是合并后链表的头结点。在两个链表中剩下的结点依然是排序的,因此合并这两个链表的步骤和前面的步骤是一样的。我们还是比较两个头结点的值。此时链表2的头结点的值小于链表1的头结点的值,因此链表2的头结点的值将是合并剩余结点得到的链表的头结点。我们把这个结点和前面合并链表时得到的链表的尾结点(值为1的结点)链接起来。
代码:
非递归:
需要合并的链表为1和2,合并后的效果如3。
分析:
首先分析合并两个链表的过程。我们的分析从合并两个链表的头结点开始。链表1的头结点的值小于链表2的头结点的值,因此链表1的头结点将是合并后链表的头结点。在两个链表中剩下的结点依然是排序的,因此合并这两个链表的步骤和前面的步骤是一样的。我们还是比较两个头结点的值。此时链表2的头结点的值小于链表1的头结点的值,因此链表2的头结点的值将是合并剩余结点得到的链表的头结点。我们把这个结点和前面合并链表时得到的链表的尾结点(值为1的结点)链接起来。
代码:
相关文章推荐
- 【剑指offer系列】 合并两个排序的链表___17
- 剑指offer—合并两个排序的链表
- 《剑指offer》面试题17:合并两个排序的链表
- 剑指offer——合并两个排序的链表__
- 剑指offer:17 合并两个排序的链表
- 剑指offer--面试题25:合并两个排序的链表
- 剑指Offer——合并两个排序的链表
- 《剑指offer》刷题笔记(代码的鲁棒性):合并两个排序的链表
- 剑指offer—合并两个排序的链表
- 剑指Offer之合并两个排序的链表
- 剑指Offer(25)合并两个排序后的链表
- JAVA实现合并两个排序的链表(《剑指offer》)
- 剑指offer:合并两个排序的链表
- 牛客《剑指Offer》-- 合并两个排序的链表
- 剑指offer:合并两个排序的链表 代码实现
- 剑指offer系列-T17合并两个排序的链表
- 剑指Offer--16.合并两个排序的链表
- 剑指offer(面试题17):合并两个已排序的链表
- 《剑指offer》-合并两个排序的链表
- 剑指offer(16)—合并两个排序的链表