题解
AC-Code
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) {
auto pa = pHead1, pb = pHead2;
while(pa != pb) {
pa = pa ? pa->next : pHead2; // 简化代码,当pa走到尾端的时候,去从b的头开始,相当于在a链表后+b
pb = pb ? pb->next : pHead1; // 同理,相当于在b链表后面+a
}
return pa;
}
};