合并两个已排序的链接列表java inplace

时间:2018-02-13 19:09:20

标签: java algorithm data-structures linked-list

有人可以提供合并2个已排序LL的代码吗?

递归&也请迭代

由于 迪内希

1 个答案:

答案 0 :(得分:0)

public class MergeLinkedLists {

public static Node merge(Node head1, Node head2) {
    Node mergedList = null;
    if(head1 == null) {
        return head2;
    }
    if(head2 == null) {
        return head1;
    }
    if(head1.data < head2.data) {
        //point to smaller element
        mergedList = head1;         
        mergedList.next = merge(head1.next, head2);
    } else { //head1 is large, so pass h
        //point to smaller element
        mergedList = head2;
        //head2 is already consider
        //now process next node of head2
        mergedList.next = merge(head1, head2.next);
    }
    return mergedList;
}

}