题目

请实现一个函数,如果两个链表相交,请返回相交的第一个节点,如果不相交,返回null即可。链表可能有环或无环。


要求

如果链表1的长度为N,链表2的长度为M,时间复杂度达到O(M+N),额外空间复杂度请达到O(1).


思路

综合前三篇文章,即可。

  1. 判断是否有环,有则返回入环节点,否则返回null
  2. 判断两个无环链表是否相交,有则返回第一个交点,否则返回null
  3. 判断两个有环链表是否相交,有则返回第一个交点,否则返回null

源码

public class Node{public int value;public Node next;public Node(int data){this.value=data;}
}
public Node getIntersectNode(Node head1,Node head2){if(head1==null||head2==null){return null;}Node loop1=getLoopNode(head1);Node loop2=getLoopNode(head2);if(loop1==null&&loop2==null){return noLoop(head1,head2);}if(loop1!=null&&loop2!=null){return bothLoop(head1,loop1,head2,loop2);}return null;
}

链表问题11——两个单链表相交的系列问题(四):总结相关推荐

  1. 链表问题11——两个单链表相交的系列问题(三):判断两个有环链表是否相交

    题目 判断两个有环链表是否相交,相交则返回第一个相交节点,否则返回null 在考虑此问题时,根据前面几篇文章的解法,我们已经得到了各自链表的入环节点,分别为loop1和loop2 思路 以下是问题三的 ...

  2. 链表问题11——两个单链表相交的系列问题(二):找到两个无环链表的交点

    题目 判断两个无环链表是否相交,相交则返回第一个相交节点,否则返回null 思路 分别遍历链表1和链表2,最后一个节点分别即为end1和end2,长度分别记为len1和len2 如果end1不等于en ...

  3. 链表问题11——两个单链表相交的系列问题(一):找到有环链表的环入口节点

    题目 判断一个链表是否有环,如果有,则返回第一个进入环的节点,没有则返回null. 思路 如果一个链表没有环,那么遍历链表一定可以遇到链表的终点:如果链表有环,那么遍历链表就永远在环里转下去了.如何找 ...

  4. 左神算法:两个单链表相交的一系列问题(链表是否有环 / 两无环链表是否相交 / 两有环链表是否相交)

    本题来自左神<程序员代码面试指南>"两个单链表相交的一系列问题"题目. 题目 在本题中,单链表可能有环,也可能无环.给定两个单链表的头节点 head1 和 head2, ...

  5. 两个单链表相交的一系列问题

    两个单链表相交的一系列问题 在本题中,单链表可能有环,也可能无环.给定两个单链表的头节点 head1 和 head2,这两个链表可能相交,也可能 不相交.请实现一个函数,如果两个链表相交,请返回相交的 ...

  6. 两个单链表相交的一系列问题-Java

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net package live.every.day.Pro ...

  7. 算法题:求两个单链表相交的第一个节点

    目录 一.题目 思路 代码 二.总结 一.题目 #include <iostream> #include <stack> using namespace std; //链表结点 ...

  8. 两个单链表相交的一系列问题----0_0

    这道题emmm,难度相对来说很大额. 主要是要分成三种情况来考虑: 1. 两个链表都无环: 2. 两个链表都有环: 3. 一个有环一个无环,这种情况是不用 考虑的,一定没有交点(姥姥记住:单链表仅有一 ...

  9. 算法学习18-两个单链表相交的一系列问题

    两个单链表相交的一系列问题 [题目] 在本题中,单链表可能有环,也可能无环.给定两个单链表的头节点 head1和head2,这两个链表可能相交,也可能不相交.请实现一个函数, 如果两个链表相交,请返回 ...

最新文章

  1. python 内置函数map的使用
  2. cube sdio fatfs 初始化sd卡_Stm32CubeMx配置SDIO+FATFS+FREERTOS
  3. python怎么打日志_怎样调试 日志 python 代码
  4. linux踩内存内存越界,Linux如何调试内存泄漏?超牛干货奉献给你(代码全)
  5. 数据库误操作后悔药来了:AnalyticDB PostgreSQL教你实现分布式一致性备份恢复
  6. 端午前夕的班级小游戏
  7. C语言对stm32f103程序,STM32F103WIFI程序C语言
  8. windows下javadoc生成文档注释的命令
  9. 如何检查字符串是否以指定的字符串开头? [重复]
  10. 字体编辑器_三款好用的字体编辑器分享,让您拥有属于自己的字体
  11. react之组件异步加载
  12. 验票证明怎么打印_发票真伪查询打印系统软件
  13. lcd显示c语言程序,1602液晶简单显示程序
  14. 永磁电机MTPA控制
  15. addr2line 动态库
  16. php ctype xdigit,php ctype_digit() 函数介绍
  17. iOS屏幕旋转与锁屏
  18. 计算机符号链接是什么意思,Windows或Linux上的符号链接(符号链接)完整指南
  19. 2020-12-09 blastp参数学习
  20. key too large to index, failing 3346解决

热门文章

  1. 警方披露Uber撞人案细节,解密Uber自动驾驶系统
  2. 数据科学家必须要掌握的5种聚类算法
  3. 起飞,会了这4个 Intellij IDEA 调试魔法,阅读源码都简单了
  4. 五分钟体验SpringBoot+Skywalking
  5. CMS 被废弃了,该怎么办呢?
  6. 被放养导致申博论文难产,该不该硬gang导师?
  7. 又一菲尔兹奖得主入职清华!任教求真书院,丘成桐:中国已具备建设数学强国的可能性...
  8. 15岁天才创办4chan匿名网站,如今因股权分配不均,与谷歌不欢而散!
  9. 我室友拿到了字节50万年薪,太牛逼了
  10. 再见,卷积神经网络!