概述
struct ListNode{
int val;
ListNode* next;
ListNode(int x):val(x),next(nullptr);
};
class Solution
{
public:
ListNode* findNode(ListNode* node1,ListNode* node2)
{
if(node1==nullptr || node2==nullptr)
return nullptr;
int len1=0,len2=0;
ListNode* tmp1=node1,tmp2=node2;
while(tmp1)
{
len1++;
tmp1=tmp1->next;
}
while(tmp2)
{
len2++;
tmp2=tmp2->next;
}
tmp1=node1;
tmp2=node2;
if(len1<len2)
{
for(int i=0;i<len2-len1;++i)
tmp2=tmp2->next;
}
else if(len1>len2)
{
for(int i=0;i<len1-len2;++i)
tmp1=tmp1->next;
}
while(tmp1 && tmp2)
{
if(tmp1==tmp2)
return tmp1;
else
{
tmp1=tmp1->next;
tmp2=tmp2->next;
}
}
return nullptr;
}
};
最后
以上就是娇气小懒虫为你收集整理的有两个链表,怎么求交点的全部内容,希望文章能够帮你解决有两个链表,怎么求交点所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复