链表--查看链表是否含有环(不一样的方法)
2015-11-02 14:57
381 查看
双指针法,一个快指针,一个慢指针,链表若有环的话,快指针必然会与慢指针相遇
同样是使用快慢指针找到换的入口点
<span style="font-size:18px;">typedef struct _node { int data; struct _node *next; }node,*pnode;</span>
int FindLoop(node *head) { node *p = NULL; node *q = NULL; if (head == NULL) return 0; p = head; q = head->next; while (p!=NULL && q!=NULL&&q->next!=NULL&&p!=q) { p = p->next; q = q->next->next } if (p==q) return 1; else return 0; }
同样是使用快慢指针找到换的入口点
node *FindLoop(node *head) { node *pc = head; node *pf = NULL; if (!pc) return NULL; while (pc) { pf = head; while(pf && pf != pc) { //当前结点的下一个结点是它前面的某个结点或者是它自己,则为循环处 if (pc->next == pf || pc->next == pc) return pc->next; pf = pf->next; } pc = pc->next; } return NULL; }
相关文章推荐
- 用charles抓包乐视app点播协议和是否使用P2P
- 用条件格式提高数据易用性(8)-“数据条”设置 设计要点:可视化、条件格式
- chrome 不允许 textarea 可更改大小
- html5实现弹出提示框,并且伴随遮罩层并且可以关闭弹出框
- SingleNumber
- grep命令的使用
- Cookie同域,跨域单点登录
- python 2.6 替换安装Python2.7
- MAVEN打包可运行jar包
- 用条件格式提高数据易用性(7)-“数据条”基础 设计要点:可视化、条件格式
- 单例模式
- 影像之结构化特征
- MBProgressHUD的基本使用
- 求学随记——珍惜时间≠赶进度
- 电视节目必是可搜索的
- CTP开发——期权操作
- 芒果iOS开发之duplicate symbols for architecture x86_64错误
- 用条件格式提高数据易用性(6)-依据公式 设计要点:可视化、条件格式
- nyoj111分数加减法
- 正确使用Qt多线程