链表相交以及找循环链表入口
链表相交需要判断有无循环,无循环直接找最后一个节点进行比较,有循环找某个循环点然后看看另一条是否也有这个点。
找循环链表入口比较牛逼:
在p2和p1第一次相遇的时候,假定p1走了n步,环路的入口是在h步的时候经过的,那么有
p1走的路径: h+c = n; c为p1和p2相交点,距离环路入口的距离
p2走的路径: h+c+k*r = 2*n; r为环路的周长,k是整数
显然,如果从h+c点开始,p1再走n步骤的话,还可以回到h+c这个点
同时p2从头开始走的话,经过n步,也会达到h+c这点
显然在这个步骤当中p1和p2只有前h步走的路径不同,所以当p1和p2再次重合的时候,必然是在链表的环路入口点上。
转载于:https://www.cnblogs.com/yutoulck/p/4024844.html
链表相交以及找循环链表入口相关推荐
- 快慢指针判断单向链表是否有环及找环入口
前言 关于快慢指针找环入口的这个问题,之前巴特跟我聊到过,印象比较深,今晚看学长在做的面试题,里面就出现了这个小知识. 发现有些东西不经意间就会用到,于是便出现此文.以后要努力做到善于总结,乐于总结. ...
- 使用OC实现单链表:创建、删除、插入、查询、遍历、反转、合并、判断相交、求成环入口...
一.概念 链表和数组都是一种线性结构,数组有序存储的,链表是无序存储的. 数组中的每一个元素地址是递增或者递减的关系,链表的每一个节点的地址没有此规律,它们是通过指针的指向连接起来. 链表种类:单链表 ...
- 链表是否带环、环入口、环长度、链表相交问题分析与总结
关于链表的知识总结,参考原博客:http://www.cnblogs.com/hellogiser/p/linked-list-loop-and-intersections.html 一.链表是否带环 ...
- 判断链表是否相交并找出交点
问题概述 单链表定义如下: public class ListNode {int val;ListNode next;ListNode(int x) {val = x;next = null;}} 编 ...
- 长风破浪会有时:单向链表、双向链表和循环链表图文解析
链表的种类有很多.我们常常会用到的链表有:单向链表.双向链表和循环链表. 链表不同于数组的地方在于:它的物理存储结构是非连续的,也就是说链表在内存中不是连续的,并且无序.它是通过数据节点的互相指向实现 ...
- 转:链表相交问题 详解
源地址:http://blog.163.com/bbluesnow@126/blog/static/27784545201251051156817/ 链表相交问题 2012-06-10 17:15:3 ...
- 求链表相交时的交点(C语言)
//链表相交时的交点 PSListNode IntersectionNode(PSListNode pL1, PSListNode pL2) {int count1 = 0;int count2 = ...
- 如何判断链表有环、如何判断两个链表相交
如何判断单链表是否存在环 有一个单向链表,链表当中有可能出现"环",就像题图这样.如何用程序判断出这个链表是有环链表? 不允许修改链表结构. 时间复杂度O(n),空间复杂度O(1) ...
- 代码随想录Day04 | LeetCode24. 两两交换链表中的节点、LeetCode19. 删除链表的倒数第N个节点、LeetCode160. 链表相交、LeetCode142. 环形链表Ⅱ
LeetCode24. 两两交换链表中的节点 力扣题目链接 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 ...
最新文章
- MaxCompute Studio使用心得系列7—作业对比
- 基于jQuery很牛X的批量上传插件
- Java 8中的默认方法(Defender方法)简介
- oracle的等保,Oracle等保测评相关指令
- 【Python】五子棋项目记录
- IDEA或Webstorm设置Terminal终端字体大小
- 研究生最忌讳的几点是什么?读研期间你该主动做什么?
- 一些常用的前端基础操作
- Seay源代码审计系统
- C/C++大数运算库介绍及安装
- DATEDIF 函数(转)
- 区块链银行应用探索(Hyperledger fabric)
- jsp中打开新的html网页,jsp中用window.open()打开新页面的相关设置
- kaggle 入门:逻辑回归应用之Kaggle泰坦尼克之灾
- LABVIEW 虚拟键盘 触摸键盘 中英文输入 支持WIN10 WIN7
- 在IPhone上添加邮箱(163示例)
- 机器学习和深度学习综述
- 如何下载npm离线安装包
- 30句感悟人生的格言名言
- 如何修改textfield的 return 键的类型