首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

给两个变量,怎么找出一个带环单链表中是什么地方出现环的

2012-04-28 
给两个变量,如何找出一个带环单链表中是什么地方出现环的?网上说的答案是:一个递增一,一个递增二,他们指向

给两个变量,如何找出一个带环单链表中是什么地方出现环的?
网上说的答案是:一个递增一,一个递增二,他们指向同一个接点时就是环出现的地方

例如: 

0->1->2->3->4->5->6->7->3 

递增一的012345 

递增二的024635 

5并不是环出现的地方啊
求正解



[解决办法]
这个方法的确只能用来检测是否有环。
相遇的地方肯定在环上。所以可以找到相遇点
然后在固定一个点,开始遍历。这样就会减少复杂度了。
[解决办法]
Supper_Jerry地方法倒是能提高些平均情况下的效率。

热点排行