输入两个链表,找出它们的第一个公共结点
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 };