- 博客(2)
- 收藏
- 关注
原创 C语言——用快慢指针判断带环的起始位置
理由如下:假设x=c,那么慢指针走过了一圈,因为快指针是慢指针速度的两倍,所以快指针走过了两圈,由上一节的快慢指针相遇的原理我们知道这种假设不成立,所以x
2024-01-30 12:24:19 475 1
原创 C语言——用快慢指针判断链表中是否有带环
此时fast和slow的距离为c-1(假设c为带环一圈的节点数)如果想要判断链表中是否有带环,仅仅用一个指针从头节点移动永远会陷入一个死循环,这时我们可以用一个经典的方法来解决问题————:快指针先进入带环,慢指针后进入带环,当快指针和慢指针都进入带环后,慢指针的指向节点的地址和快指针指向的。假设fast一次走3步,则fast和slow的速度差为2,总路程为n,设相遇过程所用时间为t(t为整数)(1)如果n为偶数,则能相遇。和slow的速度差为1,总路程为n,设相遇过程所用时间为t(t为整数)
2024-01-29 22:17:16 578 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人