首页 > 试题广场 >

判断单链表有没有环的算法中,至少需要几个指针?

[单选题]
如果使用比较高效的算法判断单链表有没有环的算法中,至少需要几个指针?
  • 1
  • 2
  • 3
  • 4
推荐
B

两个。 一个每次走一步, 一次每次走两步, 会相遇就表示有环
编辑于 2015-02-04 09:45:50 回复(5)
一个指针一个哈希表不可以么?
发表于 2015-09-04 09:11:56 回复(0)
答案为B,判断链表有没有环,可以用快慢指针来实现,两指针的移动速度不一样。如果相遇,则表示有环,否则表示无环
编辑于 2017-02-26 11:42:54 回复(3)
链表的环不一定是首位相连的,可能是如下图这样的。一个指针指向头,一个遍历再判断会不会相遇的思路无法解决这个情况。

用快慢指针可以解决。
发表于 2017-09-11 15:02:03 回复(0)
两个指针,假设有俩个指针p 和 q,其中p每次向前移动一步,q每次向前移动两步。那么如果单链表存在环,则p和q相遇;否则q将首先遇到null。
发表于 2019-04-09 15:13:23 回复(0)
判断链表有没有环,可以用快慢指针来实现,如果两指针相遇,则表示有环。

发表于 2016-05-02 20:33:26 回复(0)
判断是否有环,可以使用快慢指针
发表于 2021-10-25 23:53:50 回复(0)
使用快慢指针法来判断单链表是否有环
发表于 2022-08-07 10:56:02 回复(0)
<p>选b</p><p>需要一个快指针和一个慢指针,快的走两步,慢的走一步,如果快的追上慢的就说明是环</p>
发表于 2020-11-25 16:12:53 回复(0)
选B

两个。 一个每次走一步, 一次每次走两步, 会相遇就表示有环
发表于 2020-06-25 19:01:43 回复(0)
快慢指针
发表于 2019-07-29 20:51:38 回复(0)
用hash表不是很快吗?
发表于 2019-07-27 19:02:19 回复(0)
没思路
发表于 2018-11-26 20:08:23 回复(0)
一个走一步一个走两步
发表于 2018-07-30 22:19:52 回复(0)
快慢指针!
发表于 2018-06-21 15:16:21 回复(0)
快慢指针
发表于 2018-04-19 20:01:19 回复(0)
快慢指针
发表于 2018-01-15 11:45:05 回复(0)
一个慢指针,一个快指针,如果两者能够相遇,则说明有环
发表于 2017-06-05 14:50:53 回复(0)
炫头像
一个指针记录链表中初始访问元素的位置,另一个指针向前遍历,当两个指针指向同一个元素时,即存在环
发表于 2016-06-27 12:33:19 回复(0)
在链尾放一个指针不行么,链表有环难道不是首位相接形成的环?
编辑于 2015-11-10 21:21:50 回复(2)
采用快慢指针法,至少两个指针吧
发表于 2015-10-03 17:14:46 回复(0)