带环单链表的故事
@不了解前尘往事的Reader,烦请阅读——《判断单链表是否有环的算法》
不过我们这里不考虑带环单链表,且无环单链表相交也只是相交一次,不穿过,这是一种不算复杂的情况吧。
问题分析这里只说能想到的且比较可行的算法吧。
思路一:HashSet判重把两个链表的结点依次打入HashSet,打入前判重,如果有重,既然不是有环,那就是相交了。
思路二:分别把两个链表从头跑到尾两个链表都从头结点开始,一直跑到尾结点(事先未曾保存),看看尾结点一样不一样。 这思路也有些暴力,回头想想怎么去优化一些,先针对这个思路给出代码吧。
Java编程实现思路二public class Main {
private static class
关注
打赏
热门博文
- 【Linux】Ubuntu20.04安装和卸载MySQL8
- 【Linux】Ubuntu 20.04 报错 curl: (23) Failure writing output to destination 的解决方法
- 【Java】JUnit 4.13.2 警告 ‘assertEquals(double, double)‘ is deprecated 的解决方法
- 【JavaScript】处理 @parcel/transformer-js: Browser scripts cannot have imports or exports.
- 【Node.js】Windows环境安装配置NVM和Node.js
- 【Python】处理TypeError: Plain typing.NoReturn is not valid as type argument
- 【Python】Matplotlib可视化50例
- 【C语言】C语言修改MySQL数据库
- 【Java】从默认包导入类和对象报错的解决方法
- 【Java】panel.getGraphics()报错空指针异常的解决方法