5.判断一个链表是否存在环
来源:互联网 发布:苏州十大网络教育机构 编辑:程序博客网 时间:2024/04/30 09:04
题目:给你一个链表的头指针,让你判断此链表是否存在环!如果存在环,则输出环的入口节点
分析:我们用两个指针,如果存在环,一个走得快(走两个节点),一个走得慢(走一个节点),快的总会超过慢得n圈,并且在环中的某个节点相遇!
这个博客讲得挺好的:http://www.cppblog.com/humanchao/archive/2008/04/17/47357.html
代码实现:
typedef struct node{int value;struct node *next;}Node;Node *FindLoopPort(Node *head)//判断链表是否存在环,如果存在环,则返回环的入口点{Node *slow,*fast;bool flag=false;if(head==NULL)return NULL;slow=head;fast=head;while(slow!=NULL&&fast!=NULL){slow=slow->next;fast=fast->next->next;if(slow==fast)//找到环的其中一个点{flag=true;break;}}if(flag==false)return NULL;slow=head;while(slow!=fast)//寻找环的入口点{slow=slow->next;fast=fast->next;}return slow;}
0 0
- 判断一个链表是否存在环
- 5.判断一个链表是否存在环
- 【题目13】判断一个链表是否存在环
- 判断一个表是否存在
- 判断链表是否存在环
- 判断链表是否存在环
- 判断链表是否存在环
- 判断链表是否存在环
- 如何判断一个单链表中是否存在环
- 判断一个单向链表中是否存在环
- 判断一个单链表是否存在环
- 判断一个图是否存在环
- 判断一个单向链表中是否存在环
- 判断一个单链表是否存在环
- 判断一个单向链表中是否存在环
- 判断一个单链表中是否存在环
- 判断一个单链表中是否存在环
- 判断一个单链表是否存在环
- sgu120
- N皇后问题
- 二叉树前序,中序,后续遍历(递归和非递归)
- oracle 11.2.0.4 rac 恢复到单实例
- libstdc++5的安装
- 5.判断一个链表是否存在环
- 赫夫曼编码
- Brownie Points II - POJ 2464 线段树
- 自定义Android标题栏TitleBar布局
- javascript开发人员的10个关键习惯
- HashMap实现原理分析
- 不高兴的小明
- 软件开发道路上时间都去哪了
- onLayout onMeasure