弗洛伊德循环检测
问题:给定一个链表,检测其中是否有任何循环。 解决此问题的方法很多,但就复杂性而言,弗洛伊德循环检测算法比其他算法更有效。 空间复杂度:O(1)时间复杂度:O(n) 在这里,您使用2个指针,其中1个以1的速度移动,另一个以2的速度移动。如果有一个周期,则这2个指针将彼此相遇;如果不是一个周期,则快速指针将遇到null。 这是科特林的一个例子。 私人乐趣isCycle(node:Node):布尔{ var陆龟:节点? =节点 var hare:节点? =节点 while(hare!= null && hare.next!= null){ 乌龟=乌龟!!。nextNode 兔子=兔子!!。nextNode…