思路:使用快慢指针,快指针每次走两步,慢指针每次走一步,如果有环,则一定会快慢指针指向同一结点;
假设环的长度为n,先让一个指针走n步,另一个再开始走,当他们指针指向同一结点时,该结点就是环入口点
(在快慢指针相遇之后,慢指针指向表头,快指针留在相遇点,二者以每次一步走直到相遇,该相遇点就是环入口结点);

找到环入口结点之后,从入口结点开始遍历,每次遍历长度加一,如果下个结点等于入口结点,则返回长度

class ListNode(object):
def __init__(self, dataval):
self.dataval = dataval
self.next = None class JudgeLinkRing(object):
def is_link_ring(self,head):
if head is None or head.next is None:
return
slow,fast=head,head
while fast and fast.next:
slow=slow.head
fast=fast.next.next
if slow==fast:
slow=head
while slow !=fast:
slow=slow.next
fast=fast.next
fast1=fast
fast=fast.next
n=1
while fast1 !=fast
fast=fast.next
n=n+1 return slow,n return

最新文章

  1. js实现继承的5种方式 (笔记)
  2. Mosquitto搭建Android推送服务(一)MQTT简介
  3. .NET Nancy 详解(四) Self Host
  4. UIImageView、UISlider、UISwitch、UIStepper、UISegmentControl
  5. java学习笔记(3)——面向对象
  6. UIWebView和UIActivityIndicatorView的结合使用
  7. ubuntu server 安装
  8. php 正则校验是否是域名
  9. bzoj3573[Hnoi2014]米特运输
  10. Windows 2008 R2下 如何简单使用IIS来配置PHP网站
  11. 几个页面loading样式
  12. 对于ASP.NET MVC中页面强类型的个人理解
  13. C# WPF 通过委托实现多窗口间的传值
  14. 深入理解Spring的ImportSelector接口
  15. Asp.net WebAPi Restful 的实现和跨域
  16. native-base中icon不能正确显示[转]
  17. Django本地开发,debug模式引用静态文件
  18. VSAN Cluster Failed
  19. 启动ECLIPSE时,提示找到不 eclipse\jre\bin\javaw.exe
  20. DOM节点常见的属性及操作

热门文章

  1. kafka-clients 1.0 内部请求接口文档
  2. python3 输出中文、日文等等乱码问题的解决办法
  3. Java并发--final关键字
  4. 如何选择一台适合Java开发的电脑
  5. rabbitmq python demo 参考链接地址
  6. ImportError: No module named git
  7. 第五篇 Scrum冲刺博客
  8. python自动化测试中的数据驱动unittest+ddt
  9. caoz:数据分析这点事
  10. Event loop详解(包含Node端)