极客时间返利平台,你可以在上边通过山月的链接购买课程,并添加我的微信 (shanyue94) 领取返现。
每天晚上九点 B站讲解前端工程化直播,并解答相关问题。

# 如何判断两个链表是否相交

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 62 (opens new window)

Author

回答者: wython (opens new window)

只判断链表相交,好一点的方式是用双指针+哈希表。 同时遍历 a,b 链表,如果当前 a 和 b 所在元素不在哈希表,则将元素加入哈希表。知道找到哈希表里面重复元素则算相交。时间复杂度 o(max(a, b))是 a,b 不想交部分的较大值。空间复杂度是 o(a + b),a 和 b 不想交部分。

第二种是遍历 a 和 b,判断尾指针是否相等。时间复杂度 o(a + b),空间复杂度 o(1)。

进阶问题是,找到相交链表的第一个相交点

TODO

Last Updated: 11/27/2021, 10:11:48 AM