思路:
两个链表如果相交,交叉遍历它们会相遇,如果不相交,遍历到链表尾部为NULL
代码:
class Solution {
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
ListNode* A = headA;
ListNode* B = headB;
//如果不相交,最终A会遍历完A走向B的终点,B会遍历完B走向A的终点,最终都是NULL
while(A!= B){
A = A ? A->next : headB;
B = B ? B->next : headA;
}
return A;
}
};