判断环形链表

判断环形链表

 

用四步追赶上慢指针 从入环的那一刻起, 7-3=4

 判断环形链表

 

 判断环形链表

 

 

然后把快指针挪到开头索引,然后快慢指针依次向前走一步 ,然后在4这个点相遇

 判断环形链表

 

 判断环形链表

 

慢指针走过的路径是L,快指针走过的减慢指针的路径也L,环形链表的路径为D,快指针追赶满指针的路径为D-L

 判断环形链表

 

慢指针从4走D-L步,然后相遇 ,慢指针走多少步到环的其实位置呢,D-(D-L)步  ,慢指针走L步到这,快指针也是L走到4 ,所以两个会在环的起始相遇

 判断环形链表

 

L=ND+R  快指针从头开始也是L 所以又是L=L  慢指针在环形链表里面走R+ND步遇到快指针  

 判断环形链表

 

上一篇:30分钟完成MongoDB复制集环境搭建


下一篇:js常用的一些工具类