题目描述

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。

思路

首先判断链表中是否有环,设置两个指针,一个一次走一步,另一个一次走两步,若链表中存在环,则两个指针一定会相遇,否则输出null
有环,找出环的入口节点,当两节点第一次相遇后,让其中一个指针指向头结点,每次走一步,再次相遇时的节点就是入口节点。推导可自行百度。

代码

public ListNode EntryNodeOfLoop(ListNode pHead){ListNode p1 =pHead;ListNode p2 = pHead;while(p1!=null && p2!=null){p1 = p1.next;if(p2.next == null){return null;//p2.next ==null 时, 其next报错}p2 = p2.next.next;if(p1 == p2){//有环p2 = pHead;while(p1 != p2){p1 = p1.next;p2 = p2.next;}return p1;}}return null;}

每天一道剑指offer-链表中环的入口节点相关推荐

  1. 剑指Offer——链表中环的入口结点

    题目描述: 一个链表中包含环,请找出该链表的环的入口结点. 分析: 设置两个指针p1,p2, 两个指针都从链表的头部开始走,不过p1每次走一步,p2每次走两步. 直到相遇的时候,p2走的长度是p1的两 ...

  2. 剑指offer-面试题23:链表中环的入口节点 快慢指针+双指针

    题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null.如图所示,节点3是链表中环的入口节点 本题的解决分为两步:(1)确定链表中是否有环(2)如果有环,确定环的入口节点. ...

  3. 剑指 Offer II 049. 从根节点到叶节点的路径数字之和

    剑指 Offer II 049. 从根节点到叶节点的路径数字之和: 题目链接 :剑指 Offer II 049. 从根节点到叶节点的路径数字之和 题目: 给定一个二叉树的根节点 root ,树中每个节 ...

  4. 牛客题霸 [链表中环的入口节点] C++题解/答案

    牛客题霸 [链表中环的入口节点] C++题解/答案 题目描述 对于一个给定的链表,返回环的入口节点,如果没有环,返回null 拓展: 你能给出不利用额外空间的解法么? 题解: 判断环有个很巧妙的方法, ...

  5. 递增的整数序列链表的插入_每日算法题 | 剑指offer 链表专题 (5)链表中倒数第k个节点...

    点击上方"Jerry的算法和NLP",选择"星标"公众号 重磅干货,第一时间送达 题目 链表中倒数第k个节点 题目要求 输入一个链表的头结点,从尾到头反过来打印 ...

  6. 划水总结剑指offer 链表系列1

    最近在找实习,发现面试题和oj的题差距蛮大的,然后粗略的刷了一遍剑指offer.希望6月中旬前能拿个实习(捂脸哭) 1.首先总结关于链表的题. (1)从尾到头打印一个链表.像我这样的憨憨上来就想 这不 ...

  7. 一道剑指offer经典面试题引发的思考

    大家在拿到一道算法题的时候,都会思考些什么呢? 大家有没有想过,当有一位面试官追问你,这道题有没有什么问题,或者有没有什么更好的方法,你们的内心是怎样的呢? 可能你会瞪大了眼,一些盲目自信的同学可能会 ...

  8. 【Java】剑指 Offer II 022. 链表中环的入口节点

    题目 :给定一个链表,返回链表开始入环的第一个节点. 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点.如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 p ...

  9. 剑指 Offer II 022. 链表中环的入口节点(力扣剑指Offer专项突击版——链表2)

    题目 给定一个链表,返回链表开始入环的第一个节点. 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点.如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 po ...

  10. 《剑指offer》链表中环的入口节点

    题目:一个链表中包含环,请找出该链表的环的入口结点. 解析:思想是用list存储从头开始遍历的链表节点,如果list集合不存在该节点,就把该节点添加进list,然后继续遍历下一个.当list中包含当前 ...

最新文章

  1. 机器翻译评测——BLEU算法详解 (新增 在线计算BLEU分值)评估
  2. 未来今日研究所:2019技术趋势报告
  3. quartz mysql 初始化_quartz2.3.0(十五)执行、暂停、继续执行、清除,花式操作数据库中持久化的job任务...
  4. 设计模式 - 适配器模式
  5. YBTOJ:采矿战略(线段树维护dp、树链剖分)
  6. leetcode - 343. 整数拆分
  7. whitepages 配合调查_“你好,我是警察!请配合我们的调查......”_政务_澎湃新闻...
  8. c语言字符型常量的例题,C语言笔试题100道
  9. PackageManager
  10. 武汉大学计算机学院夏桂松,武汉大学电子信息学院导师介绍:何楚
  11. mysql的windows安装步骤_windows下mysql安装配置教程
  12. JDK7及早期版本Java HotSpot 虚拟机配置选项
  13. 什么是OOP?使用OOP用什么好处?
  14. h5网页ios中滑动字体变大
  15. Docker与微服务实战(入门)
  16. CAS配置数据库,实现数据库用户认证
  17. python安装不了是什么问题_python为什么安装了运行不了?
  18. Pre-Switch宣布推出采用人工智能的跨平台软开关技术
  19. SpringMVC项目升级SpringBoot项目参考
  20. Shell 批量创建文件夹

热门文章

  1. Oralce/MySQL 默认隔离级别对比
  2. 构建之法第四章学习心得
  3. Android学习笔记之Bitmap位图的缩放
  4. HBase性能优化方法总结 (转)
  5. iOS开发UIScrollView使用详解
  6. vSphere 5.5 使用Web Client打开控制台窗口显示连接超时
  7. cf-#189-div 2
  8. 用最简单的道理说服别人,提升自己
  9. 什么样的文章更容易被编辑推荐?
  10. 3.Jenkins 2 权威指南 --- 流水线执行流程