1、题目
2、代码(javascript)
/*function ListNode(x){
this.val = x;
this.next = null;
}*/
function FindFirstCommonNode(pHead1, pHead2)
{
// write code here
let p1=pHead1
let p2=pHead2
while(p1!=p2){
p1=(p1===null?pHead2:p1.next)
p2=(p2===null?pHead1:p2.next)
}
return p1
}
module.exports = {
FindFirstCommonNode : FindFirstCommonNode
};
3、题解
指针Pa和指针Pb分别沿着各自的路径走完全程,由于总路径长度一致,两个指针会在同个循环内停止移动。在这个过程中不难发现,这种方法能够判断两条链有没有相交。如果两条链有相交,结果返回相交结点,如果没有相交,结果返回null。