美文网首页编程之美
BoP——3.6判断两个链表是否相交

BoP——3.6判断两个链表是否相交

作者: Myth52125 | 来源:发表于2017-10-19 16:26 被阅读0次

    题目

    判断两个链表是否相交,简单的,在无环的情况下。

    方法一

    暴力的对比两个链表
    O(n*m)

    方法二

    hash表,map,首先使用一个链表建立一个map,存储链表节点的地址。
    然后再去遍历另一个链表

    这种方法适用于有环,无环,同时还能判断环开始的位置。
    首选的方法。
    需要额外空间

    方法三

    如果只需要判断是否相交,不需要输出相交节点集合。
    那么可以这样,链表A和链表B,记录A的最后位置,然后将B连接到A的最后位置,
    如果有相交的部分,那么新的链表就一定有环。

    新的链表

    将问题转化为求新的链表是否有环。
    或者直接从B开始遍历,如果能再次叨叨B证明,有相交部分。

    方法四

    如果两个链表相交,那么假设相交节点为N,那么该节点后面的节点一定都是两个节点共有的。
    所以如果相交,那么两个两个链表的最后一个节点就是共有的。
    所以只需要判断两个链表最后一个节点是否相等就可以了。

    相交特性

    相关文章

      网友评论

        本文标题:BoP——3.6判断两个链表是否相交

        本文链接:https://www.haomeiwen.com/subject/dltpuxtx.html