输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)
这个题,第一思路还是笨方法,去循环,找到相等的值
但是看了题解,可真牛;
思路是把其中一根循环去痘给一个标志,即代码中的f属性;然后去再循环另一根链表,那么有f属性的节点则为公用节点。
function FindFirstCommonNode(pHead1, pHead2)
{
// write code here
while(pHead1){
pHead1.f=true;
pHead1=pHead1.next;
}
while(pHead2){
if(pHead2.f) return pHead2;
pHead2=pHead2.next
}
return null;
}