26_合并两个排序的链表

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

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

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;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。