首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找两个有重复项的链表的交集

查找两个有重复项的链表的交集
EN

Stack Overflow用户
提问于 2017-11-29 14:20:39
回答 1查看 495关注 0票数 3

假设我有两个链表6->14->45->38->52->18->90->null和78->38->44->6->85->52

这里,第二个链表在节点52处与第一个链表连接,并且元素38和6也存在于两个列表中。获取这两个链表与元素52的交点的最佳方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2017-11-29 14:36:49

查找两个链表l1l2的交集的一种简单有效的方法是散列。以下是您可以使用的方法:

通过h.

  • Go将所有节点的地址插入到h.

  • Go中,
  1. 生成一个空的哈希表h,其中键是节点的地址,值是指示节点是否存在于l1中的二进制/布尔值。对于每个节点,检查它是否存在于h中。如果我们在h中找到一个节点,则该节点与l1l2相交。

该算法对h具有O(m + n)时间复杂度和O(m)额外辅助空间,其中ml1的大小,nl2的大小。

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

https://stackoverflow.com/questions/47546296

复制
相关文章

相似问题

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