剑指 Offer 52. 两个链表的第一个公共节点
- 思路
双指针,A的链表长度=a+c,B的链表长度=b+c,可得a+c+b=b+c+a即A走完之后再走b就相遇了,定义两个指针然后遍历 - 代码
public ListNode getIntersectionNode(ListNode headA, ListNode headB) { ListNode curA=headA; ListNode curB=headB; while(curA!=curB){ curA=curA==null?headB:curA.next; curB=curB==null?headA:curB.next; } return curA; }