合并两个排序的链表

Posted 张乐乐章

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并两个排序的链表相关的知识,希望对你有一定的参考价值。

题目描述

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
 
 
利用递归:
找到2个链表中,最小的头结点,合并后的链表头结点就是最小的头结点。
合并链表指向剩余部分。
 
 
 1 public class Solution {
 2     public ListNode Merge(ListNode p1,ListNode p2) {
 3         if(p1==null) return p2;
 4         if(p2==null) return p1;
 5         ListNode mhead = null;
 6         if(p1.val<p2.val){
 7             mhead = p1; mhead.next = Merge(p1.next,p2);
 8         }
 9         else{
10             mhead = p2;
11             mhead.next = Merge(p1,p2.next);
12         }
13         return mhead;
14     }
15 }

 

以上是关于合并两个排序的链表的主要内容,如果未能解决你的问题,请参考以下文章

代码的鲁棒性:合并两个排序的链表

《剑指Offer》题目:合并两个排序的链表

最强解析面试题:合并两个排序的链表

剑指offer合并两个排序的链表

16.合并两个排序的链表

合并两个排序的链表