求两个链表交点节点的指针。
比较curA和curB是否相同,如果不相同,同时向后移动curA和curB,如果遇到curA == curB,则找到交点。否则循环退出返回空指针。
var getIntersectionNode = function(headA, headB) {
//创建虚拟头节点
let nodea=new ListNode(0,headA)
let cura=nodea
let nodeb=new ListNode(0,headB)
let curb=nodeb
//遍历求得链表的长度
let n=0 //链表a的长度
let m=0 //链表b的长度
while(cura.next){
cura=cura.next
n++
}
while(curb.next){
curb=curb.next
m++
}
//令cura指向长的链表头
let x=0 //获取短链表的长度
let len=0 //求长度差
if(n>m){
x=m
len=n-m
cura=headA
curb=headB
}else{
x=n
len=m-n
cura=headB
curb=headA
}
//长链表前进len步(len>0)
while(len--){
cura=cura.next
}
//一一对比
while(cura){
if(cura==curb){
return cura
}
cura=cura.next
curb=curb.next
}
return null
};