1.判断链表是否有环 双指针法:定义两个指针,一个步长是2一个步长是1,当两个指针相遇时链表有环 2.计算链表环大小 设A的步长是1,B的步长是2。假设AB相遇A走了X步,那么B就走了2X步。假设是第一次相遇,则B多走的路就是环的大小。即X。 3.计算环的入口 设环的大小为x,交点到开始的距离为t,交点到入口距离为c(图中下面线段表示的距离),开始到入口距离为a(上图上面线段表示的距离),总长为u。图中环下面的点表示双指针交点位置。 则有 x(环大小)+a=u、t+c=u。因x=t得a=c。 定义两个指针,一个从头跑,另一个从交点跑,两个相遇的点就是入口。