Leetcode Linked List Cycle
2015-05-29 22:07
330 查看
Given a linked list, determine if it has a cycle in it.
使用两个指针,一前一后,(p,q),p与q相差一个位置,之后p移动一步,q相对应移动两步,如果存在环,那么q和p一定会相遇
使用两个指针,一前一后,(p,q),p与q相差一个位置,之后p移动一步,q相对应移动两步,如果存在环,那么q和p一定会相遇
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: bool hasCycle(ListNode *head) { ListNode *p,*q; if(head==NULL) { return false; } p = head; q = head->next; while(q!=NULL && q->next!=NULL) { if(p==q) { return true; } p = p->next; q = q->next; q = q->next; } return false; } };
相关文章推荐
- Java网络编程(TCP/UDP)
- shopnc用户登录session丢失问题
- In-Depth: Static Code Analysis
- javascript学习过程中的一些体会和重点(1)
- sql点滴43—mysql允许远程登陆
- 揭开J2EE的面纱
- 关于CSAPP lab3中压栈问题引发的思考
- Java学习日记之类和对象:静态成员与实例成员
- java.io.Console的使用以及重定向标准输出/输入
- Hibernate映射(二)— 多对一
- JAVA 什么时候使用静态
- css伪类 附加一般导航栏代码
- 归并排序
- MySQL数据库性能优化之硬件优化
- Spring使用教程(二)配置bean:静态工厂方法和实例工厂方法
- 【哈希】判断有根树同构
- 博客园的神回复,一起看看那些IT男的神回复[连载][一]
- 计算机中那些事儿(八):再历装系统之终身学习
- Android中使用TabHost实现类似标签栏的效果
- Android:CalledFromWrongThreadException