链表问题11——两个单链表相交的系列问题(四):总结
题目
请实现一个函数,如果两个链表相交,请返回相交的第一个节点,如果不相交,返回null即可。链表可能有环或无环。
要求
如果链表1的长度为N,链表2的长度为M,时间复杂度达到O(M+N),额外空间复杂度请达到O(1).
思路
综合前三篇文章,即可。
- 判断是否有环,有则返回入环节点,否则返回null
- 判断两个无环链表是否相交,有则返回第一个交点,否则返回null
- 判断两个有环链表是否相交,有则返回第一个交点,否则返回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——两个单链表相交的系列问题(四):总结相关推荐
- 链表问题11——两个单链表相交的系列问题(三):判断两个有环链表是否相交
题目 判断两个有环链表是否相交,相交则返回第一个相交节点,否则返回null 在考虑此问题时,根据前面几篇文章的解法,我们已经得到了各自链表的入环节点,分别为loop1和loop2 思路 以下是问题三的 ...
- 链表问题11——两个单链表相交的系列问题(二):找到两个无环链表的交点
题目 判断两个无环链表是否相交,相交则返回第一个相交节点,否则返回null 思路 分别遍历链表1和链表2,最后一个节点分别即为end1和end2,长度分别记为len1和len2 如果end1不等于en ...
- 链表问题11——两个单链表相交的系列问题(一):找到有环链表的环入口节点
题目 判断一个链表是否有环,如果有,则返回第一个进入环的节点,没有则返回null. 思路 如果一个链表没有环,那么遍历链表一定可以遇到链表的终点:如果链表有环,那么遍历链表就永远在环里转下去了.如何找 ...
- 左神算法:两个单链表相交的一系列问题(链表是否有环 / 两无环链表是否相交 / 两有环链表是否相交)
本题来自左神<程序员代码面试指南>"两个单链表相交的一系列问题"题目. 题目 在本题中,单链表可能有环,也可能无环.给定两个单链表的头节点 head1 和 head2, ...
- 两个单链表相交的一系列问题
两个单链表相交的一系列问题 在本题中,单链表可能有环,也可能无环.给定两个单链表的头节点 head1 和 head2,这两个链表可能相交,也可能 不相交.请实现一个函数,如果两个链表相交,请返回相交的 ...
- 两个单链表相交的一系列问题-Java
分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net package live.every.day.Pro ...
- 算法题:求两个单链表相交的第一个节点
目录 一.题目 思路 代码 二.总结 一.题目 #include <iostream> #include <stack> using namespace std; //链表结点 ...
- 两个单链表相交的一系列问题----0_0
这道题emmm,难度相对来说很大额. 主要是要分成三种情况来考虑: 1. 两个链表都无环: 2. 两个链表都有环: 3. 一个有环一个无环,这种情况是不用 考虑的,一定没有交点(姥姥记住:单链表仅有一 ...
- 算法学习18-两个单链表相交的一系列问题
两个单链表相交的一系列问题 [题目] 在本题中,单链表可能有环,也可能无环.给定两个单链表的头节点 head1和head2,这两个链表可能相交,也可能不相交.请实现一个函数, 如果两个链表相交,请返回 ...
最新文章
- python 内置函数map的使用
- cube sdio fatfs 初始化sd卡_Stm32CubeMx配置SDIO+FATFS+FREERTOS
- python怎么打日志_怎样调试 日志 python 代码
- linux踩内存内存越界,Linux如何调试内存泄漏?超牛干货奉献给你(代码全)
- 数据库误操作后悔药来了:AnalyticDB PostgreSQL教你实现分布式一致性备份恢复
- 端午前夕的班级小游戏
- C语言对stm32f103程序,STM32F103WIFI程序C语言
- windows下javadoc生成文档注释的命令
- 如何检查字符串是否以指定的字符串开头? [重复]
- 字体编辑器_三款好用的字体编辑器分享,让您拥有属于自己的字体
- react之组件异步加载
- 验票证明怎么打印_发票真伪查询打印系统软件
- lcd显示c语言程序,1602液晶简单显示程序
- 永磁电机MTPA控制
- addr2line 动态库
- php ctype xdigit,php ctype_digit() 函数介绍
- iOS屏幕旋转与锁屏
- 计算机符号链接是什么意思,Windows或Linux上的符号链接(符号链接)完整指南
- 2020-12-09 blastp参数学习
- key too large to index, failing 3346解决