- 博客(1)
- 收藏
- 关注
原创 判断链表入环的第一个结点
记录一个有趣的题。 问题: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 算法描述: 这是很简单有趣的算法:首先用快慢指针来找是否存在环;接着如果有环,就是一个小小的数学变化:首先快指针的步长是慢指针的两倍,且两指针相遇一定在环内。设首结点到入环的第一个结点的距离为a,在快慢指针停在环内的结点距离入环第一个结点为b,在环内剩余长度为c,则有如下表达式:快指针步长 = 2 * 慢指针步长 => a + b + c + b = 2 * (a + b),解得:c = a。那
2020-10-09 23:47:59
261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人