判断一个链表中是否有环,并且得到环的入口位置
2013-04-09 09:23
381 查看
1. 利用快慢指针,判断是否有环,如果没有则退出,否则步骤2
2. 还是利用快慢指针获取环的大小(这之前都讨论过怎么获取了)
3. 把链表倒置, 并且记录倒置需要处理的倒置的次数
e.g:原始
倒置之后为:
总共处理的次数为(倒置完成需要的步骤数): 非环部分的长度*2+环的长度
已知环的长度,那么非环部分的长度也就知道了
也就能求出节点的环的入口的位置了
4. 再次把环倒置,恢复环
2. 还是利用快慢指针获取环的大小(这之前都讨论过怎么获取了)
3. 把链表倒置, 并且记录倒置需要处理的倒置的次数
e.g:原始
倒置之后为:
总共处理的次数为(倒置完成需要的步骤数): 非环部分的长度*2+环的长度
已知环的长度,那么非环部分的长度也就知道了
也就能求出节点的环的入口的位置了
4. 再次把环倒置,恢复环
相关文章推荐
- 判断一个链表是否有环以及环的位置入口
- 题目:①判断一个单向链表是否有环,如果有环则找到环的入口节点。 ②判断两个单向链表是否相交,如果相交则找到交点节点。
- 如何判断一个链表是否有环,如何确定入口
- 首先如何判断一个链表是否有环,并找出环的入口
- 每天一道LeetCode-----判断链表是否有环,如果有,找到环的入口位置
- 判断一个链表是否有环,并找出环的入口
- 链表面试题----判断一个单链表是否带环,若带环,求入口点和环的长度
- [算法]判断一个链表是否有环及环开始的位置
- 如何判断一个链表是否有环? 2、如果链表为存在环,如果找到环的入口点?
- 判断单链表是否有环,如果有找出环的入口位置=>求两个相交链表的交点
- 判断一个链表是否有环,并且找出入口点
- 如何判断一个链表是否有环,如果有环,并找出环的入口
- C# 判断一个单链表是否有环及环长和环的入口点
- 设单链表中存放n个字符,试设计一个算法,使用栈判断该字符串是否中心对称
- 剑指offer--判断链表是否带环?若带环求环的长度?若带环求环的入口点?
- 判断链表是否带环?若带环求环的长度?若带环求环的入口点?并计算以上每个问题的时间复杂度?
- 四道有趣的单链表面试题(单链表反序、找出链表的中间元素、链表排序、判断一个单链表是否有环)
- 判断一个字符串通过变化字符的位置,是否可以组成回文
- 四道有趣的单链表面试题(单链表反序、找出链表的中间元素、链表排序、判断一个单链表是否有环)
- 判断一个单向链表是否形成了环状结构