快慢法判断单链表中是否有循环链表
2010-03-31 15:44
281 查看
题目:写个算法,判断在一个单向链表中是否存在循环链表。
有个经典的算法就是解决这个问题的,好象是叫快慢法.他的原理是,如果A,B两人从同一地点出发,B的速度大于A,那么如果存在一个环的话,B和A肯定是能再见面的.
有个经典的算法就是解决这个问题的,好象是叫快慢法.他的原理是,如果A,B两人从同一地点出发,B的速度大于A,那么如果存在一个环的话,B和A肯定是能再见面的.
bool IsLoop( link* head) { link* s = head; //移动缓慢的指针 link* f = head; //移动快速的指针 do { if( s == NULL ) return (false ); s = s->next; //一次向前移动一个 if( f== NULL ) return (false ); f = f->next; if( f== NULL ) return (false ); f = f->next; //一次向前移动2个 }while( f!= s); return (f!=NULL); }
相关文章推荐
- 面试题:判断单链表是否为循环链表-快慢指针
- 判断单链表是否是循环链表以及找出循环链表入口
- 判断单链表是否为循环链表-----在有序链表中寻找中位数------使用快慢指针
- 判断单链表是否有环,如果有找出环的入口位置=>求两个相交链表的交点
- [算法练习FindLoop]判断单向链表是否存在循环/循环入口/环长度
- 判断单链表是否存在环,判断两个链表是否相交问题详解
- 合并单链表,输出单链表中间元素,判断是否有环等
- 数据结构与算法分析笔记与总结(java实现)--链表17:无环单链表判断是否相交问题
- 如何判断一个单向链表是否存在循环的经典方法
- 判断两个循环链表内容是否相等
- 判断单链表是否存在环,判断两个链表是否相交问题详解(转载)
- 判断单链表是否存在环 判断两个链表是否相交问题
- 判断单链表是否存在环,判断两个链表是否相交问题详解
- 判断单链表是否存在环,判断两个链表是否相交问题详解 .
- 单链表之判断一个单链表中是否有环
- [转]判断单链表是否存在环,判断两个链表是否相交问题详解
- 判断单链表是否存在环,判断两个链表是否相交问题详解
- 【学习点滴-数据结构-单链表】 判断单链表是否有环
- 【转载】判断单链表是否存在环,判断两个链表是否相交问题详解
- 链表知识点(九)【判断单链表是否有环】