题解 | #两个链表的第一个公共结点#
两个链表的第一个公共结点
https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) { if(!pHead1||!pHead2) { return nullptr; } ListNode * p1,*p2; p1=pHead1; p2 = pHead2; while(p1) { p2 = pHead2; while(p2) { if(p1==p2)//这一步的位置不能放错! break; p2 = p2->next; } if(p1==p2) break; p1=p1->next; } if(p1==p2&&p1) return p1; return nullptr; } };