合并两个短链表

时间:2018-03-24 21:47:32

标签: java recursion linked-list singly-linked-list

我的逻辑错误,我试图使用递归进行合并。请指导我错误的地方。

输入(stdin):

4

1 3 5 6

3

2 4 7

我的输出(标准输出): 1 3 5 6

预期产出: 1 2 3 4 5 6 7

0.0.0.0:9292

1 个答案:

答案 0 :(得分:0)

您正在推进两个列表,您只能在其中一个列表中前进。

Node mergeLists(Node headA, Node headB) {
    if(headA==null)
    {
        return headB;
    }
    if(headB==null)
    {
        return headA;
    }
    if(headA.data<headB.data)
    {  
        headA.next=mergeLists(headA.next,headB); // Note change here, using only smallest
        return headA;
    }
    else{

        headB.next=mergeLists(headA,headB.next); // Note change here, using only smallest
        return headB;
    }
}