Given a linked list, determine if it has a cycle in it.

Follow up: Can you solve it without using extra space?

思考:快慢指针,快指针一次走两步,慢指针一次一步。若快指针跟慢指针指向同一个结点,则有环。若快指针到达链表末尾即指向NULL,说明没有环。

/**
* 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) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
if(!head||!head->next) return false;
ListNode *p=head;
ListNode *q=p->next;
while(q&&q->next)
{
if(p==q) return true;
else
{
q=q->next->next;
p=p->next;
}
}
return false;
}
};

  

最新文章

  1. 初始JavaScript
  2. ado.net 用c#与数据库连接实现增删改查
  3. Mysql 与日期和时间相关的函数
  4. Accounting_权责发生制和收付实现值的区别(概念)
  5. dedecms 根据key取得联动类型(enum)值
  6. Ubuntu下配置samba服务器实现文件共享
  7. 阿里云服务器上使用iptables设置安全策略
  8. jsp基础之 jstl
  9. ftk学习记(消息框篇)
  10. 如何判断微信内置浏览器(通过User Agent实现)
  11. Quartz使用-入门使用
  12. 自学Unity3D 之 贪吃蛇
  13. ES6之Promise
  14. nyoj913 取石子(十) SG函数 + Nimm博弈
  15. 第一次PTA作业
  16. JavaScript数据结构与算法(八) 集合(ECMAScript 6中定义的类似的Set类)
  17. Spring的历史及哲学
  18. ISP PIPLINE (十二) Sharpening
  19. django分页器
  20. document.querySelectorAll() 兼容 IE6

热门文章

  1. [Guava源码分析]Ordering:排序
  2. 如何将HDL文件实例化到XPS中
  3. 处理jquery版本之间冲突
  4. NSS_04 extjs中grid接收datetime类型参数列
  5. HMTL5的 video 在IOS7中碰到的坑
  6. php 判断字符串在另一个字符串中位置
  7. linux 进程控制笔记
  8. 使用IO流创建文件并写入数据
  9. CPU 时间片 分时 轮转调度
  10. 【转】解析Java finally