转自:http://www.cnblogs.com/youxin/p/3303172.html

1.链表中是否有环的判断
可以设置两个指针(fast,slow),初始值均指向头,slow每次向前一步,fast每次向前两步;
如果链表中有环,则fast先进入环中,而slow后进入环中,两个指针在环中必定相遇;
如果fast遍历到尾部为NULL,则无环
2.链表有环,判断环的入口点
当fast若与slow相遇时,slow肯定没有走遍历完链表,而fast已经在环内循环了n圈(1<=n)。假设slow走了s步,则fast走了2s步(fast步数还等于s 加上在环上多转的n圈),设环长为r,则:

2s = s + nr
s= nr

设整个链表长L,入口环与相遇点距离为x,起点到环入口点的距离为a。
a + x = nr
a + x = (n – 1)r +r = (n-1)r + L - a
a = (n-1)r + (L – a – x)

(L – a – x)为相遇点到环入口点的距离,由此可知,从链表头到环入口点等于(n-1)循环内环+相遇点到环入口点

转载于:https://www.cnblogs.com/wrencai/p/5815805.html

(转)求单链表是否有环,环入口和环长相关推荐

  1. c语言链表交换,求单链表的数据交换解决思路

    当前位置:我的异常网» C语言 » 求单链表的数据交换解决思路 求单链表的数据交换解决思路 www.myexceptions.net  网友分享于:2013-11-04  浏览:14次 求单链表的数据 ...

  2. PTA 基础编程题目集 6-6 求单链表结点的阶乘和

    PTA 基础编程题目集 6-6 求单链表结点的阶乘和 本题要求实现一个函数,求单链表L结点的阶乘和.这里默认所有结点的值非负,且题目保证结果在int范围内. 函数接口定义: int Factorial ...

  3. 求单链表结点的阶乘和

    求单链表结点的阶乘和 (15分) 本题要求实现一个函数,求单链表L结点的阶乘和.这里默认所有结点的值非负,且题目保证结果在int范围内. 函数接口定义: int FactorialSum( List ...

  4. PTA:6-3求单链表结点的阶乘和(15分)

    大一下半期数据结构 数据结构实践任务2 求单链表结点的阶乘和 本题要求实现一个函数,求单链表L结点的阶乘和.这里默认所有结点的值非负,且题目保证结果在int范围内. 函数接口定义 int Factor ...

  5. 单链表问题(反转、是否有环、删除结尾第N个节点、合并两个sortlist、找到交点)

    1.时间复杂度O(N),内存O(1)的效率下实现单链表的翻转 public static TreeNode revers(TreeNode head){TreeNode temp,first,seco ...

  6. 数据结构--链表--单链表中环的检测,环的入口,环的长度的计算

    就如数字6一样的单链表结构,如何检测是否有6下部的○呢,并且求交叉点位置 思路 使用快慢指针(一个一次走2步,一个走1步),若快慢指针第一次相遇,则有环 慢指针路程 s=a+bs = a+bs=a+b ...

  7. 求单链表的最大值与原地逆转_数据结构基础复习09.ppt

    数据结构基础复习09.ppt 数据结构考研辅导 基础复习 浙江大学计算机学院 内容提纲 考研概述 考察目标理解数据结构的基本概念 掌握数据结构的逻辑结构 存储结构及其差异 以及各种基本操作的实现 在掌 ...

  8. 求单链表的最大值与原地逆转_江西师范大学硕士学位研究生入学考试数据结构试题(2003年)一.doc...

    江西师范大学硕士学位研究生入学考试 数据结构 试题 (2003年) 选择题(每空2分,共20分) 1. 设一个栈的输入序列为A,B,C,D,则借助一个栈所得到的输出序列不可能是 . (1)A,B,C, ...

  9. 逆向链表c语言 abcdef,6-6 求单链表元素序号 (5 分)

    本文最后更新于742天前,其中的信息可能已经有所发展或是发生改变. 本题要求实现一个函数,求带头结点的单链表中元素序号. 函数接口定义: int Locate ( LinkList L, ElemTy ...

  10. 求单链表的最大值与原地逆转_数据结构精选考研试题.pdf

    [注]:编写程序可选用任一种高语言,算法描述可采用类语言,必要时加上注释 一. 回答下列问题:[20分] 1. 算法的定义和性质 2. 为什么说数组与广义表是线性表的推广? 3. 什么是结构化程序设计 ...

最新文章

  1. 混合模式商城的可经销商品池
  2. redis优化查询的两种方式
  3. raspberry pi_Linux Foundation安全徽章,Raspberry Pi成功,白宫工具等
  4. 基于WF的意见征集6(浅析)
  5. python动态是什么意思_怎么看出自己是Python什么阶段
  6. CS224N笔记——深入GRU和LSTM
  7. MySQL:Innodb表 Data free 的计算概要
  8. office2019专业增强版64位和32位安装包收集整理
  9. Hadoop 十年解读与发展预测(插图+排版)
  10. vs2013下载地址以及安装方法
  11. IT男不得不看的影视剧---《数字追凶》
  12. python编写回文程序上海自来水来自海_回文句式初探:“上海自来水来自海上”...
  13. 2 CRYPTO Bubble_Babble气泡密码
  14. matlab实现5自由度雄克机器人的运动仿真
  15. 用 CSS 实现图片的马赛克风格
  16. 蓝翔开设电竞专业,从《英雄联盟》学起;360将借壳江南嘉捷登陆A股;苹果iPhone X首拆丨价值早报
  17. python做k线图_python做k线图(15分钟k线的意义)
  18. 一般家用监控多少钱_安装一套监控需要多少钱,看完你就能自己算出来
  19. 基于PHP+MySQL的旅游景点网站的设计与开发
  20. 10种相亲交友源码客户端存储,值得一看

热门文章

  1. 《你的灯亮着吗》读后感1
  2. netif_start_queue/netif_wake_queue/netif_stop_queue
  3. python中exception类的_面试题 | 列举几个Python中的标准异常类?
  4. Windows Socket 编程_ 简单的服务器/客户端程序
  5. 菜鸟php ajax,AJAX ASP/PHP
  6. Matlab计时函数
  7. 【APICloud系列|27】 UICalendar模块(日历)的实现
  8. 双清模式无命令_linux性能监控:IO性能监控命令之iotop命令
  9. python 建筑建模_不可错过的python 街道数据爬取和分析神器!
  10. routersploit简单实例