两个链表的第一个公共结点(剑指offer)

输入两个链表,找出它们的第一个公共结点

 1 /*
 2 struct ListNode {
 3     int val;
 4     struct ListNode *next;
 5     ListNode(int x) :
 6             val(x), next(NULL) {
 7     }
 8 };*/
 9 class Solution {
10 public:
11     ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) {
12           if(pHead1==NULL||pHead2==NULL) return NULL;
13         ListNode* p1=pHead1;
14         ListNode* p2=pHead2;
15         while(p1!=p2){
16             p1=(p1==NULL?pHead2:p1->next);
17             p2=(p2==NULL?pHead1:p2->next);
18         }
19         return p1;
20     }
21 };
原文地址:https://www.cnblogs.com/wujufengyun/p/6932394.html