//可以先遍历两个链表长度,然后从短的链表同时出发 //这个方法比较巧妙,A链表遍历完之后转向B链表的头部
public class Solution {
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
if (headA == null || headB == null) {
return null;
}
ListNode pa = headA;
ListNode pb = headB;
while (pa != pb) {
pa = pa.next;
pb = pb.next;
if (pa == null && pb == null) {
return null;
}
if (pa == null) {
pa = headB;
}
if (pb == null) {
pb = headA;
}
}
return pa;
}
}