给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。

为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。

说明:不允许修改给定的链表。

示例 1:

输入:head = [3,2,0,-4], pos = 1
输出:tail connects to node index 1
解释:链表中有一个环,其尾部连接到第二个节点。

hashset代码

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public ListNode detectCycle(ListNode head) {Set<ListNode> listNodeSet=new HashSet<>();while (head!=null){if(listNodeSet.contains(head))return head;listNodeSet.add(head);head=head.next;}return null;}
}

快慢指针代码

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public ListNode detectCycle(ListNode head) {ListNode s=head,f=head;while (true){if(f==null||f.next==null) return null;s=s.next;f=f.next.next;if(s==f) break;}f=head;while (f!=s){s= s.next;f=f.next;}return  s;}
}

leetcode 142. 环形链表 II(set/快慢指针)相关推荐

  1. 【LeetCode】【HOT】142. 环形链表 II(快慢指针)

    [LeetCode][HOT]142. 环形链表 II 文章目录 [LeetCode][HOT]142. 环形链表 II package hot;class ListNode{int val;List ...

  2. LeetCode 142. 环形链表 II - Python 快慢指针法+详解

    题目 142. 环形链表 II 难度中等761 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的 ...

  3. LeetCode 142 环形链表 II

    题目描述 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null.为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开 始). 如果 po ...

  4. LeetCode 142. 环形链表 II(Linked List Cycle II)

    142. 环形链表 II 142. Linked List Cycle II 题目描述 给定一个链表,返回链表开始入环的第一个节点.如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整 ...

  5. leetcode 141.环形链表 I - 142.环形链表 II 代码及指针相遇证明问题

    ⭐️ 环形链表 I 题目描述 给你一个链表的头节点 head ,判断链表中是否有环.如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 如果链表中存在环 ,则返回 tru ...

  6. LeetCode 142——环形链表 II

    1. 题目 2. 解答 2.1 方法 1 定义快慢两个指针,慢指针每次前进一步,快指针每次前进两步,若链表有环,则快慢指针一定会相遇. 当快慢指针相遇时,我们让慢指针指向头节点,快指针不变,然后每次快 ...

  7. LeetCode 142. 环形链表 II

    LeetCode 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如 ...

  8. LeetCode 142. 环形链表 II(链表环的检测)

    文章目录 1. 题目链接 2. 解题 1. 题目链接 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链 ...

  9. Leetcode 142. 环形链表 II (每日一题 20210902)

    给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null.为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1 ...

最新文章

  1. java计算下周一_java – 如何计算下周?
  2. 数据访问与sql语句的管理(一)
  3. a+=b不一定等于a=a+b
  4. Lukas-Kanade光流法
  5. php---自动生成flash图表(包括你想要的其他类型的图表)
  6. open函数返回-1_记录学习python的第3天-递归函数/文件操作
  7. VSCode REMOTE SSH
  8. java类 权限修饰词_java-学习笔记-访问权限修饰词一
  9. Nginx开启gzip压缩功能
  10. Macbook Pro休眠唤醒后后台运行程序被关闭的解决方法
  11. Linux终端的总结和shell
  12. 广发证券数据治理的探索与实践
  13. jdbc mysql分层_JDBC和数据库访问层
  14. ISO 27001:2022 中文试译稿
  15. 天梯 L1 Practic1 题解合集
  16. 中国农大计算机保研,中国农业大学2021届保研情况
  17. 教你更划算的选择苹果最新产品Mac Studio
  18. 洛谷P2006 赵神牛的游戏
  19. 蓝牙芯片设计看上海,终端产品找深圳
  20. qlv转mp4格式工厂失败

热门文章

  1. gcc编译器与g++编译器的区别
  2. SQL求一个表中非重复数据及其出现的次数
  3. java学习笔记11 (构造方法 this深探)
  4. 总结verilog产生随机数的$random和seed
  5. 数据结构 | 链表:1097 删除重复元素
  6. http://nancyfx.org + ASPNETCORE
  7. CI框架取消index.php
  8. 转 Android的Activity屏幕切换动画(一)-左右滑动切换
  9. linux下elasticsearch的安装
  10. 数据挖掘需要学习的内容