计算机基础
算法与数据结构
【Q061】如何判断两个链表是否相交

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

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

Author 回答者: wython (opens in a new tab)

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

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

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

Author 回答者: shfshanyue (opens in a new tab)

TODO