1. Linked List Cycle My Submissions QuestionEditorial Solution

    Total Accepted: 102785 Total Submissions: 278248 Difficulty: Easy

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

Follow up:

Can you solve it without using extra space?

思路:快慢指针

一个走一步,一个走两步

最后如果相遇则有环(为什么呢?,考虑在环上的情况,因为快指针走的快,走的是2步,一定可以追上慢指针,那你可能会想走两步可能直接略过慢指针啊,假设某个时刻快指针在慢指针前一个位置,下一次便相遇,若果在前2个呢,那么下一次便和慢指针相邻,回到之前的情况,前1和前2涵盖了数位奇偶,所以总言之一定会相遇)

更多的是考虑到特殊情况,为空,只有一个节点,只有两个节点

/**
* 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) {
if(head==NULL||head->next==NULL)return false;
ListNode *p_quick=head,*p_slow=head;
while(p_quick!=NULL&&p_quick->next!=NULL){
p_quick = p_quick->next->next;
p_slow = p_slow->next;
if(p_quick==p_slow)return true;
}
return false;
}
};

最新文章

  1. HTML 接收本地文件
  2. 【转】Java Web 项目获取运行时路径 classpath
  3. 看守所、戒毒所3D指纹门禁系统解决方案
  4. BMP图像数据格式详解
  5. Https 公钥、私钥、证书
  6. JNDI 是什么
  7. 你的网站为什么会慢?——用YSlow为你的网站提速
  8. EF架构使用随机排序
  9. oracle中 merge into 的用法
  10. iOS 正则表达式使用(转)
  11. FreeSql v0.5.x 功能介绍
  12. java的环境变量配置失败(java.exe、javaw.exe、javaws.exe优先级问题冲突)
  13. 主席树入门——询问区间第k大pos2104,询问区间<=k的元素个数hdu4417
  14. POJ 2112-Optimal Milking-二分答案+二分图匹配
  15. 实验一:基于STM32F1的流水灯实验(库函数)
  16. SlickOne 敏捷开发框架介绍(二) -- 多用户/多租户/SAAS软件基础框架实现
  17. Bitter Sweet Symphony
  18. 彻底明白Flink系统学习5:window、Linux本地安装Flink
  19. Where is Silverlight now?
  20. python学习笔记--smtp模块的使用及常见错误处理

热门文章

  1. BUAA_2020_软件工程_提问回顾与总结
  2. gson中TypeAdapter实现自定义序列化操作
  3. 数位dp & 热身训练7
  4. vs编译问题总结
  5. 基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
  6. Codeforces Round #738 (Div. 2) D2题解
  7. postman使用(待更新)
  8. git push超过100M文件处理方法
  9. yum install hadoop related client
  10. Oracle中对数字加汉字的排序