160.相交链表
难度:简单
标签:链表,双指针
思路:两个链表有交点.两个链表的长度可能不一样,但两个链表有相同的部分,不同的部分只是交点之前的结点,我们只需要让两个链表同时走,当一个链表走到头的时候,就接着让他走另一条链表的路,当他们相遇时,就是交点,因为他们走的长度都是他们自身长度加对方结点之前的长度
public ListNode getIntersectionNode(ListNode headA, ListNode headB){
ListNode A=headA;
ListNode B=headB;
while(A!=null||B!=null){
//A走完了,就去走B的路
if(A==null) A=headB;
if(B==null) B=headA;
if(A==B) break;
A=A.next;
B=B.next;
}
return A;
}