//两个有序链表的合并
l1={val:1,next:{val:2,next:{val:2,next:{val:4,next:null}}}}
l2={val:1,next:{val:1,next:{val:3,next:{val:4,next:{val:5,next:null}}}}}
function as(l1,l2){
//这是初始条件
if(l1=null){return l2}//这里的L2已经改变
if(l2=null){return l1}
if(l1.val<=l2.val){
l1.next=as(l1.next,l2)
return l1 //l1不断改变
//回溯
}
else
{
console.log("buhao")
console.log(l1)
l2.next=as(l2.next,l1)
return l2
}
}
let b=as(l1,l2)
console.log(b)
本文介绍了一种将两个已排序的链表合并为一个有序链表的算法实现。通过递归方式,比较两个链表头部节点的值,将较小值的节点链接到结果链表上,然后递归调用自身处理剩余部分,最终返回合并后的有序链表。
605

被折叠的 条评论
为什么被折叠?



