面试题 02.07. 链表相交
给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交
思路:拼接两个链表,如果相同,后面肯定出现相同的引用
比如 4 1 8 4 5 5 0 1 8 4 5
以及 5 0 1 8 4 5 4 1 8 4 5
class Solution {
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
ListNode *a=headA, *b=headB;
while(a != b){
if(a != NULL) a = a->next;
else a = headB;
if(b != NULL) b = b->next;
else b = headA;
}
return a;
}
};