链表带环和相交的问题
来源:互联网 发布:手机听评书软件 编辑:程序博客网 时间:2024/04/29 15:34
判断两个链表是否相交?(不带环)
(1)第一种方法:我们只需要遍历每条链表,把最后一个节点保存起来,然后判断这两条链表的最后一个节点是否相等,如果是一样的节点,那么这两个节点就一定相交。
(2)第二种方法:遍历两条链表,求出链表L1的链表长度为len1,链表L2的链表长度为len2,长度差为| len1 - len2 |,让长的链表先走长度差步,然后两个链表在从当前位置开始走,如果遇到第一个相同的节点,那么就证明两条链表相交。
这种方法也是求不带环相交,求相遇点的情况。
判断两个链表是否相交?(带环)
链表带环相交一定是一个链表带环,一个链表不带环才有可能相交,下面是两种链表带环相交的情况。
要求链表相交求相遇点的情况,我们必须要知道如何判断链表是否带环,环入口点的问题
(1)判断链表是否带环?
(2)一个指针走一步,一个指针走三步,可不可以,四步五步呢?
(3)求环的入口点?
链表带环相交点求解
(1)先判断链表是否相交
(2)求链表相交的相遇点
a.链表环外相交的情况,只有一个相交点。
b.链表环内相交的情况下,有两个相交点。
上图已经求出了两个链表各自在环中相遇的位置,每个链表单独来看,每个链表都根据求环的入口点在求出两个节点,如果这两个节点相同,那么就可以肯定这个链表是环外相交的情况,把这个节点当成两个链表不带环相交的最后一个节点,然后用最上面两张图解的方法求出相交点。如果这两个节点不相同,那么就可以判断这两个链表是在环内相交,那么这两个节点都是两个链表的相交节点。
阅读全文
0 0
- 链表带环和相交的问题
- 链表带环问题
- 有关单链表带环的问题
- 链表面试题(三):链表相交,链表带环,链表带环相交
- 单链表带环问题
- 链表带环问题1
- 单链表带环问题
- 单链表带环问题
- 求两个链表的相交点(含链表带环情况)
- 链表带环的问题研究及代码实现
- 判断两个链表是否相交?若相交,求交点(假设链表带环)
- 链表带环问题【每日一题】
- 面试题----单链表带环问题
- 关于单链表带环的一系列问题
- 单链表带环的一系列问题
- 分库分表带来的完整性和一致性问题
- 分库分表带来的完整性和一致性问题
- 分库分表带来的完整性和一致性问题
- arp协议以及脚本编写
- jQuery随笔7.17
- HDU-1243
- HDU 5686 16年百度之星预选赛B
- 动态内存分配(malloc、realloc、calloc函数)
- 链表带环和相交的问题
- 如何批量查询快递单号状态
- JAVA学习之旅--String数组的增删改查
- java重载/数组/递归
- 嵌套循环的两个实用例题
- c语言之内存管理(二)
- Alias Table
- CSS中选择器以及伪类和伪元素选择器
- mysql 递归查询