判断单向链表中是否有环
来源:互联网 发布:内存整型数据 编辑:程序博客网 时间:2024/06/05 01:54
核心思想 :用两个速度不一样的指针从头遍历,如果存在环,则快的指针终将追上慢的指针!
bool CircleInList(Link* pHead)
{
if(pHead == NULL || pHead->next == NULL)//无节点或只有一个节点并且无自环
{
return (false);
}
if(pHead->next == pHead)//自环
{
return (true);
}
Link *pTemp1 = pHead;//step 1
Link *pTemp = pHead->next;//step 2
while(pTemp != pTemp1 && pTemp != NULL && pTemp->next != NULL)
{
pTemp1 = pTemp1->next;
pTemp = pTemp->next->next;
}
if(pTemp == pTemp1)
{
return (true);
}
return (false);
}
- 判断单向链表中是否有环
- 判断单向链表中是否有环
- 判断单向链表中是否有环
- 判断一个单向链表中是否有环
- 判断单向链表中是否有环
- 判断一个单向链表中是否有环
- 判断一个单向链表中是否有环
- 判断一个单向链表中是否有环
- 判断单向链表中是否有环
- 判断一个单向链表中是否有环
- 判断一个单向链表中是否有环
- 判断单向链表中是否有环并确定开始位置
- 写一段代码判断一个单向链表中是否有环
- 单向链表判断是否有环
- 判断一个单向链表上是否有环
- 判断单向链表是否有环
- 判断一个单向链表是否有环
- 判断一个单向链表是否有环
- 远程连接局域网内的sql server 无法连接 错误与解决方法
- JavaScript + Flash实现幻灯式广告
- 关于素数
- c#日期到字符串转换
- xmlhttprequest对象的创建
- 判断单向链表中是否有环
- java 常见异常
- FpSpread 实现“允许用户输入公式”
- 0可用,0已用 U盘问题 重解~
- 类的加载,连接,初始化详解
- 构造函数浅析
- 天涯杂感
- 使用links方式安装Eclipse插件
- Android's calculator 计算器