您的位置:首页 > 其它

判断一个链表中是否有环,并且得到环的入口位置

2013-04-09 09:23 381 查看
1. 利用快慢指针,判断是否有环,如果没有则退出,否则步骤2

2. 还是利用快慢指针获取环的大小(这之前都讨论过怎么获取了)

3. 把链表倒置, 并且记录倒置需要处理的倒置的次数

   e.g:原始



   倒置之后为:



    总共处理的次数为(倒置完成需要的步骤数): 非环部分的长度*2+环的长度

    已知环的长度,那么非环部分的长度也就知道了

    也就能求出节点的环的入口的位置了

 4. 再次把环倒置,恢复环 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐