Leetcode 141.环形链表
难度:简单
频率:155
题目:
给你一个链表的头节点head,判断链表中是否有环。
如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该聊表中没有环。
注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。
如果链表中存在环,则返回true,否则,返回false。
解题方法:快慢指针
解题思路:
1.同时指向head
2.进入循环while判断两指针是否同时为空
3.循环里 快指针走两步,.next.next;慢指针走一步 .next;
如果在循环里 有两指针相遇,则说明有环。
4.跳出循环走到最后则说明没环。
public class Solution {public boolean hasCycle(ListNode head) {ListNode fast = head;ListNode slow = head;// 空链表、单节点链表一定不会有环while (fast != null && fast.next != null) { //这个里的条件总是漏掉 fast.next!=nullfast = fast.next.next; // 快指针,一次移动两步slow = slow.next; // 慢指针,一次移动一步if (fast == slow) { // 快慢指针相遇,表明有环return true;}}return false; // 正常走到链表末尾,表明没有环}
}
主要注意的点:
- 判断环形 只有一个条件,就是 快慢指针相遇。
- 肯定不会有环形的 : 1.空链表 。2.单节点。
- while里面fast != null && fast.next != null 不能换成 fast.next != null && fast!= null。会报空指针异常。 原因是 当fast==null时,fast.next不成立,报空指针异常。
Leetcode 141.环形链表相关推荐
- LeetCode 141. 环形链表 简单难度
** 141. 环形链表 ** 给定一个链表,判断链表中是否有环. 如果链表中存在环,则返回 true . 否则,返回 false . 解题思路(两种方法): 方法一:用集合set以及set.find ...
- LeetCode - 141. 环形链表
141. 环形链表 import java.util.Objects;class ListNode {int val;ListNode next;ListNode(int x) {val = x;ne ...
- LeetCode 141. 环形链表
原题链接 解题思路:快慢指针,如果快指针被慢指针追上一定是环形链表 /*** Definition for singly-linked list.* struct ListNode {* int va ...
- leetcode 141.环形链表 I - 142.环形链表 II 代码及指针相遇证明问题
⭐️ 环形链表 I 题目描述 给你一个链表的头节点 head ,判断链表中是否有环.如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 如果链表中存在环 ,则返回 tru ...
- leetcode - 141. 环形链表(哈希表)
给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. 示例 1: 输入: ...
- 32. Leetcode 141. 环形链表 (链表-双指针-环形链表)
给你一个链表的头节点 head ,判断链表中是否有环.如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表 ...
- Leetcode 141.环形链表 (每日一题 20210617)
给定一个链表,判断链表中是否有环.如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 ...
- [leetcode] 141.环形链表
给定一个链表,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引 ...
- Leetcode 141. 环形链表 解题思路及C++实现
解题思路: 定义快慢两个指针,当指针所指节点是同一个时,说明出现了环. /*** Definition for singly-linked list.* struct ListNode {* int ...
最新文章
- RAC修改数据库的spfile位置
- BZOJ 4817: [Sdoi2017]树点涂色
- ubuntu上面svn用merge合并到之前的版本
- 华为这个事,是不是刷KPI?
- Android View事件机制 21问21答
- 蓝桥杯2016年第七届C++省赛B组第二题-生日蜡烛
- Canvas 仿百度贴吧客户端 loading 小球
- 路由器修改html,徒手修改大麦路由器dw33d,变luci中文界面,并开启ssh
- eclipse安装反编译软件jd-gui
- 体育会项目查询程序C语言,中考资讯:各地区2021年中考体育会取消吗
- 计算机一级常用计算公式,软考网络工程师常用计算公式汇总1
- android多点触控,图片的拖拽与放大缩小
- 我也就是尝试了一下斗图的快乐
- Mac 硬件驱动(.kext)安装方法
- C++代码静态分析与优化(7)_vera++
- xiaopiu原型设计 记录
- 多元伯努利分布 multivariate bernoulli distribution
- IDEA创建maven项目没有src文件夹怎么办
- 转:sourceingsight 破解版下载安装
- Spring自动注入
热门文章
- perl 分析mysql binlog
- aspx后缀映射成html
- Linux美化——终端提示符
- 8.2 Android Basic 数据存储 Database SQLite Demo 2
- 尾递归调用 高阶函数 map filter reduce
- 开发中使用UEditor编辑器的注意事项
- 得到目标元素距离视口的距离以及元素自身的宽度与高度(用于浮层位置的动态改变)...
- 从阿里孵化钉钉谈起,大公司内部创业到底有多难?
- [ubuntu]dlna平台搭建(在家里,寝室搭建自己的影音平台)
- IoC(Inversion of Control,控制反转)模式