26_合并两个排序的链表

2020-05-21  本文已影响0人  是新来的啊强呀

要求:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

思路:使用递归的手法,将两个链表的头节点进行比较,较小的接到合并的链表后。鲁棒性:一个链表为空时,另一个链表就是合并的结果;两个链表为空,直接返回一个空链表。

public class L26_Merge {
    public static ListNode0 Merge(ListNode0 head1, ListNode0 head2){
        // 递归退出条件
        if(head1==null){
            return head2;
        }else if(head2==null){
            return head1;
        }
        ListNode0 MergeHead = null;
        if(head1.value < head2.value){
            MergeHead = head1;
            MergeHead.next = Merge(head1.next,head2);
        }else{
            MergeHead = head2;
            MergeHead.next = Merge(head1,head2.next);
        }
        return MergeHead;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读