两个单链表相交的一系列问题----0_0
这道题emmm,难度相对来说很大额。
主要是要分成三种情况来考虑:
1. 两个链表都无环;
2. 两个链表都有环;
3. 一个有环一个无环,这种情况是不用 考虑的,一定没有交点(姥姥记住:单链表仅有一个指针,你脑补的情况都会破坏这个 要求。)
其中2又可以分为三种情况:如下:
而在判断它是否有交点的时候,前提是要先判断其是有环还是无环(其中这里有两种方法进行判断,第一种方法用哈希表,相对 来说比较容易,第二种利用两个指针来比较,程序都有相应的实现方法)
下面直接附上程序:
程序里面也有相应的解释和说明:
通过哈希表来判断该链表是有环还是无环
通过两个指针来判断链表是有环还是无环
通过哈希表来判断两个无环的链表是否相交
不用哈希表也可以实现:找出两个无环的链表是否相交,只不过要设计,要有经验
当两个链表都有环的时候,情况可能相对来说复杂一点,主要有三种情况:
有兴趣的同学可以一起来探讨~
两个单链表相交的一系列问题----0_0相关推荐
- 两个单链表相交的一系列问题
两个单链表相交的一系列问题 在本题中,单链表可能有环,也可能无环.给定两个单链表的头节点 head1 和 head2,这两个链表可能相交,也可能 不相交.请实现一个函数,如果两个链表相交,请返回相交的 ...
- 左神算法:两个单链表相交的一系列问题(链表是否有环 / 两无环链表是否相交 / 两有环链表是否相交)
本题来自左神<程序员代码面试指南>"两个单链表相交的一系列问题"题目. 题目 在本题中,单链表可能有环,也可能无环.给定两个单链表的头节点 head1 和 head2, ...
- 两个单链表相交的一系列问题-Java
分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net package live.every.day.Pro ...
- 算法学习18-两个单链表相交的一系列问题
两个单链表相交的一系列问题 [题目] 在本题中,单链表可能有环,也可能无环.给定两个单链表的头节点 head1和head2,这两个链表可能相交,也可能不相交.请实现一个函数, 如果两个链表相交,请返回 ...
- 算法题:求两个单链表相交的第一个节点
目录 一.题目 思路 代码 二.总结 一.题目 #include <iostream> #include <stack> using namespace std; //链表结点 ...
- 链表问题11——两个单链表相交的系列问题(四):总结
题目 请实现一个函数,如果两个链表相交,请返回相交的第一个节点,如果不相交,返回null即可.链表可能有环或无环. 要求 如果链表1的长度为N,链表2的长度为M,时间复杂度达到O(M+N),额外空间复 ...
- 链表问题11——两个单链表相交的系列问题(三):判断两个有环链表是否相交
题目 判断两个有环链表是否相交,相交则返回第一个相交节点,否则返回null 在考虑此问题时,根据前面几篇文章的解法,我们已经得到了各自链表的入环节点,分别为loop1和loop2 思路 以下是问题三的 ...
- 链表问题11——两个单链表相交的系列问题(二):找到两个无环链表的交点
题目 判断两个无环链表是否相交,相交则返回第一个相交节点,否则返回null 思路 分别遍历链表1和链表2,最后一个节点分别即为end1和end2,长度分别记为len1和len2 如果end1不等于en ...
- 链表问题11——两个单链表相交的系列问题(一):找到有环链表的环入口节点
题目 判断一个链表是否有环,如果有,则返回第一个进入环的节点,没有则返回null. 思路 如果一个链表没有环,那么遍历链表一定可以遇到链表的终点:如果链表有环,那么遍历链表就永远在环里转下去了.如何找 ...
最新文章
- 资源 | AI、神经网络、机器学习、深度学习以及大数据学习备忘单
- [翻译完成] Pi+Raspbian+CGMiner+TightVNC+WIFI五合一矿机超级教程
- Spring Boot 入门之基础篇(一)
- LeetCode 55. 跳跃游戏 中等难度
- java 对象传递给方法_java – 将对象值传递给方法
- ping连接linux无法访问目标主机,无法访问目标主机是什么情况【解决方法】
- 《深入理解C++11:C++ 11新特性解析与应用》——3.2 委派构造函数
- sort函数——利用函数实现快速排序c++
- 推荐6个好用到爆的Pycharm插件
- 【Python爬虫】Requests库网络爬虫实战
- IT职场人生系列之十二:语言与技术I
- windows server 2003 远程桌面最大连接数调整与windows 2008远程桌面后,本地帐号自动锁定...
- stm32怎么入门?数电模电单片机先学哪个?
- c语言试题1答案,c语言试题1有答案
- 【转】通过《淘宝这十年》总结的脑图
- 打开CMD(Windows命令行)的几种方式
- 5.stm32L476在freeRTOS下使用低功耗
- Java 中Calendar的使用
- TensorFlow 卷积神经网络之猫狗识别(二)
- python 函数与部分使用示例
热门文章
- Docker部署SpringBoot的两种方法,后一种一键部署超好用!
- linux localhost的修改
- python基本的信号与槽函数的使用 信号发射 槽函数接收
- QT5 C++编写B类IP地址计算第一个可用IP地址、最后一个可用IP地址、网络号、广播地址、子网数、主机数
- 服务器系统上1068错误,错误1068,详细教您启动网络服务错误1068怎么解决
- 无法打开caffe.pb.h, no such file or directory错误
- java实现多对多关系的方法_Hibernate一对多关联双向关联代码实现分享
- java mvc中重复提交_SpringMVC之——防止重复提交表单的方法(一)
- oracle报28003,【翻译自mos文章】运行utlpwdmg.sql之后报ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 错误...
- python能制作游戏吗_没有Python不能做的游戏,这些游戏都可以做