题目描述

给定一链表,判断是否有环(有环是指最后一个结点的指针指向链表中的某个结点,构成一个循环),若有,则输出环的入口,若无,输出NULL。

结论1:若链表有环,从同一结点出发的两个指针,走得快的一定会追上走得慢的。
结论2:若链表有环,则一个指针从相遇点出发,另一个指针从首结点出发,每次走一步,最终会在环入口相遇。(证明略)

show me the code
ListNode* EntryNodeOfLoop(ListNode* pHead){if (pHead == NULL)return NULL;ListNode *p1, *p2;p1 = p2 = pHead;while (p1->next && p1->next->next) {p1 = p1->next->next;p2 = p2->next;if (p1 == p2)break;}if (!p1->next || !p1->next->next)return NULL;p2 = pHead;while (p1 != p2) {p1 = p1->next;p2 = p2->next;}return p2;}

面试题——判断链表是否有环相关推荐

  1. PHP面试高频算法面试题 -- 判断链表是否有环

    题目:给定一个链表,判断链表中是否有环. 关联力扣141题目 https://leetcode-cn.com/problems/linked-list-cycle/ 题解: PHP题解 functio ...

  2. 面试题:判断链表是否存在环

    题目:判断链表是否存在环 思路:定义快慢指针,如果两个指针相遇则一定存在环. 1 public bool IsCircled(Node First) 2 { 3 if (First == null | ...

  3. C程序:如何判断链表是否有环

    C程序:如何判断链表是否有环 这是个常见的面试题哦,总之我面试的时候遇到过, 当时没有答上来,回去后想出来下面的方法一,该法还有个附加优点,可以判断出链表在哪个地方形成环的(即如果想拆开这个环,从哪个 ...

  4. 判断链表是否存在环(及其延伸)

    有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环. 问题: 1.如何判断一个链表是不是这类链表? 2.如果链表为存在环,如果找到环的入口点 ...

  5. 【刷算法】判断链表是否有环以及返回入环节点

    题目描述 判断一个单链表是否有环,有环则返回入环节点,否则返回null 1->2->3->4->5->6↑ ↓8<-7 复制代码 例如上面这个链表就有环,入环节点是 ...

  6. 双指针算法之快慢指针(一):力扣【判断链表是否有环】leetcode-141、142

    一.简介:什么是快慢指针? 快慢指针,顾名思义,无非就是设置一个快指针,一个慢指针,初始化的时候,快指针和慢指针都指向链表的头结点,前进的时候一个在前一个在后,结合起来可以十分巧妙的解决链表中的一些问 ...

  7. 剑指offer之判断链表是否包含环

    1 问题 判断链表是否包含环 2 思路 2个指针,一个指针走一步,一个指针走2步,如果相遇则有,反之无. 3 代码实现 #include <stdio.h> #include <st ...

  8. 数据结构:单链表操作之如何判断链表是否带环及相关操作

    //判断链表是否有环 int HasCircle(Node* pHead) { Node* low=pHead; Node* fast=pHead;     while(fast != NULL &a ...

  9. 快慢指针判断链表是否有环

    链表中很经常会出现的一个问题,判断链表是否有环,标准答案也已经烂熟于心,设置快慢指针,快指针每次走2步,慢指针每次走1步,如果两个指针可以相遇的话,证明链表有环,反之无环. 我有时候就犯嘀咕,它俩一定 ...

最新文章

  1. 高级转录组分析和R数据可视化第11期(报名线上课还可免费参加线下课2020.6)
  2. 新职业风口已至!人社部宣布这10个职业缺口近千万!
  3. 最大后验估计_PR Ⅱ:贝叶斯估计/推断及其与MAP的区别
  4. css未知尺寸的图片的水平和垂直居中
  5. 中国石油计算机文化基础答案,中国石油大学17年秋《计算机文化基础》第二次在线作业答案...
  6. Largest Number 179
  7. python能做什么工作-谁适合学Python?学了Python可以做什么工作?
  8. 【软件解决】 解决 TortoiseSVN 图标不显示问题
  9. php公众号第三方登录,微信公众号开发小记——3.接入三方登录
  10. 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三
  11. 计算机的组策略在什么地方,Win10本地组策略在哪里,Win10怎么打开本地组策略编辑器?...
  12. 麦克风声源定位原理_麦克风阵列原理及应用
  13. 中科大自主招生2018笔试数学之三
  14. springBoot学习笔记(6)——@Valid和@Validated的使用
  15. 快速入门基于区块链的BPM系统--汇流BPM
  16. windows10如何关闭cortana
  17. NGFW的Portal认证实验
  18. python使用opencv模块画简单的图形
  19. 解析 数据库 苹果自带地图
  20. 大数据学习一般学什么

热门文章

  1. 常用的Web架构开发语言有哪几种?
  2. 运动用什么耳机最好、推荐六款最好的运动耳机
  3. 《ArchSummit:时代的呐喊,技术人听得到》
  4. 用Java--零钱通的两种实现
  5. mooc作业怎么上传附件_当下不考虑5G,坚果Pro3与一加7t,你怎么选?
  6. DirectX12(D3D12)基础教程(二十一)—— PBR:IBL 的数学原理(1/5)
  7. JavaScript基础精讲
  8. mysql binlog恢复误删的数据
  9. 计算机dns的工作原理,解析DNS工作原理
  10. 基于MT7688AN模块开发板WiFi路由方案无线音频传输WiFi音箱测试