DeTechn Blog

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

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

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

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

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »