剑指Offer刷题(两个链表的第一个公共结点)
一.题目描述二.代码(C++)三.提交记录四.备注
一.题目描述
输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)
二.代码(C++)
class Solution
{
public
:
ListNode
* FindFirstCommonNode( ListNode
* pHead1
, ListNode
* pHead2
) {
ListNode
*tmp1
=pHead1
,*tmp2
=pHead2
;
while(tmp1
!=tmp2
)
{
if(tmp1
)
tmp1
= tmp1
->next
;
else
tmp1
= pHead2
;
if(tmp2
)
tmp2
= tmp2
->next
;
else
tmp2
= pHead1
;
}
return tmp1
;
}
};
三.提交记录
四.备注
双指针,两个链表相连,保证同步前进时能碰到交点。