输出两个链表开始相交的节点。
为了保证长度一致,可以把两个链表连接起来,构成两个长度一样的链表。
class Solution {
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
if(!headA || !headB) return NULL;
ListNode *a = headA;
ListNode *b = headB;
int flag = 0;
while(flag <= 2){
if(a==b) return a;
a = a->next;
b = b->next;
if(a==NULL){ a = headB; flag++;}
if(b==NULL){ b = headA; flag++;}
}
return NULL;
}
};