题目描述

输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)

代码实现

/*
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 == NULL || pHead2 == NULL)
return NULL;
ListNode* tmp1 = NULL, *tmp2 = NULL;
for(tmp1 = pHead1; tmp1; tmp1 = tmp1->next)
for(tmp2 = pHead2; tmp2; tmp2 = tmp2->next)
if(tmp1->val == tmp2->val)
return tmp1;
return NULL;
}
};