我的逻辑错误,我试图使用递归进行合并。请指导我错误的地方。
输入(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
答案 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;
}
}