一 題目:
二 思路:
兩個鏈表相交,如果從a和b分別出發(fā)械哟,都走了c疏之,再交換出發(fā)點(diǎn)再次出發(fā),必然相遇于目標(biāo)節(jié)點(diǎn)
因為a+c+b(a路徑)=a+c+b(b路徑)
- 1.如果
三 代碼:
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
if(headA==null ||headB==null){ return null;}
// a1 a2
// c1 c2 c3 c4
// b1 b2 b3
//a+c+b=b+c+a
ListNode n1=headA,n2=headB;
while (n1!=n2){
n1=n1==null?headB:n1.next;
n2=n2==null?headA:n2.next;
}
return n1.next;
}