思路
- 使用双指针
- 对于相交链表问题,首先判断两个链表是否为空
- 让pA pB 分别指向两个链表的头节点
- while(两个指针没有重合的时候)
- 判断 指针是否是到了尾部:
到了 :让指针指向另一个链表的头节点
没到 : 指向下一个节点
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 == null ? headB : pA.next;
pB = pB == null ? headA : pB.next;
}
return pA;
}
}