美文网首页
判断两个单链表是否交叉

判断两个单链表是否交叉

作者: lost_generation | 来源:发表于2018-09-19 22:37 被阅读0次

利用两个链表交叉的性质,若两个链表交叉,从链表的交叉点到链表尾部,都是相同的节点,因此,链表形状是Y型。

具体做法:首先计算出两个链表的长度之差,n,让长的链表先移动n步,短的链表再依次向后遍历,这样它们同时到达第一个公共节点,在向后移动的过程中比较两个链表的节点是否相等就可以获得第一个公共节点。时间复杂度是O(m+n)(链表长度分别为m,n)

2.人为构环,将链表A的尾结点指向链表B,判断是否构成环,从链表B的头指针往下遍历,如果能够回到B,则说明相交。

通过判断最后一个节点是否相等来判断是否交叉。

相关文章

  • 如何高效地判断两个单链表是否有交叉?

    两个单链表只能存在Y型交叉,不会存在X型交叉。最简单的方式是直接遍历到两个链表的最后一个节点,判断它们是否相同。但...

  • 判断两个单链表是否交叉

    利用两个链表交叉的性质,若两个链表交叉,从链表的交叉点到链表尾部,都是相同的节点,因此,链表形状是Y型。 具体做法...

  • 快慢指针的应用

    什么是快慢指针:快慢指针是链表操作中的常用操作,最经典的应用是判断单链表中是否有环。 判断单链表是否存在环 两个指...

  • 带环链表

    描述 给定一个链表,判断它是否有环。 样例 相关题目 带环链表2 & 两个链表的交叉 代码实现

  • 2018-08-21

    算法题之判断单链表是否有环 判断单链表是否有环的算法核心思想是用两个指针,一个走的慢,一个走得快,如果两个相遇了则...

  • Intersection of Two Linked Lists

    解决思路 思路一 遍历两个链表到末尾节点,同时分别对两个链表长度计数,判断末尾节点是否相同,相同则说明交叉,将长的...

  • 两个单链表是否有交叉

    分别遍历两个链表的长度,然后长的先提前走长的步数,如果有交叉,那么一定会相遇,第一个相遇的节点就是交叉节点。

  • 链表的操作和算法相关

    github->demo1、创建(单链表、双链表、循环链表)2、翻转单链表(递归和非递归)3、判断链表是否存在环。...

  • 判断一个单链表是否存在环

    问题:如题,判断一个单链表是否存在环 分析:判断一个单链表是否存在环,问题情况分为如下 [x] 首尾相连 [x] ...

  • 2022-02-27环形链表linked-list-cycle

    1.判断单链表是否有环 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续...

网友评论

      本文标题:判断两个单链表是否交叉

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