首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何找到两个单链表的公共节点点?

如何找到两个单链表的公共节点点?
EN

Stack Overflow用户
提问于 2020-07-11 08:31:22
回答 1查看 204关注 0票数 2

我解决这个问题的方法是使用hashmap来存储第一个链接列表的地址,遍历第二个数组,并检查我是否找到了这个地址,发现我会在那个地址返回节点。这需要O(m+n),其中m和n是链表的长度,但这里我们使用O(线性)空间复杂度。我找到了另一种解决这个问题的方法,它有固定的空间,但同时也很复杂,但它并没有消除我的疑虑。link to the question

如果我的输入是

代码语言:javascript
运行
复制
    list 11 = 1 -> 2 -> 3 -> 4 -> 6 ->7;
    list l2 = 2 -> 9;

在这种情况下,在截断额外的长度之后,我对列表的一次遍历会变成这样

代码语言:javascript
运行
复制
   diff=4;   // i would advance the list 1 by 4 elements as it has greater length
   l1= 6-> 7;
   l2= 2 -> 9;

这里我失去了我的交叉口节点。有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-11 08:50:15

只有当输入链接列表与交点相同时,该方法才有效,如下所示:

代码语言:javascript
运行
复制
1 -> 2 -> 3 -> 4 -> 5

12 -> 11-> 10 -> 3 -> 4 -> 5

在这里,这两个列表与交点3是相同的。

只有这样,该算法才能工作。

注意:

这个问题基本上是给出了一个倒Y形列表(两个列表组合)的交点的求取问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62846935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档