leetcode 141. 环形链表(快慢指针解法)
题目
思路
绝对的经典题目,快慢指针,慢指针一次走两步,快指针一次走一步,直到两指针相遇,则说明有环。
关于评论区看到的一种思路,本质是做标记。这个办法不是很好,一方面,如果测试用例足够全的话,标记内容有可能与val重复,另一方面:
面试的时候我说过这个思路,结果面试官问我:那你遍历之后,原来的数据还能用吗?哎,惨。。
题解
这大概是写的最快的一道题了,三分钟写出来的
// Definition for singly-linked list.
class ListNode {int val;ListNode next;ListNode(int x) {val = x;next = null;}
}class Solution {public static void main(String[] args) {// 测试用例Solution solution = new Solution();ListNode node = new ListNode(1);System.out.println(solution.hasCycle(node));}public boolean hasCycle(ListNode head) {ListNode singleStep = head;ListNode multiStep = head;while (multiStep != null && multiStep.next != null) {singleStep = singleStep.next;multiStep = multiStep.next.next;if (singleStep == multiStep) return true;}return false;}
}
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.环形链表 I - 142.环形链表 II 代码及指针相遇证明问题
⭐️ 环形链表 I 题目描述 给你一个链表的头节点 head ,判断链表中是否有环.如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 如果链表中存在环 ,则返回 tru ...
- 环形链表[快慢指针 入环点]
环&快慢指针 前言 一.环形链表 二.快慢指针 1.相遇即有环 2.入环点 总结 参考文献 前言 对于环问题,快慢指针是一种常用的手段.一步两步走,通过判定是否相遇来判定是否存在环.而且快慢指 ...
- Leetcode 141.环形链表
难度:简单 频率:155 题目: 给你一个链表的头节点head,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环.为了表示给定链表中的环,评测系统内部使 ...
- [leetcode] 141.环形链表
给定一个链表,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引 ...
- LeetCode 141. 环形链表
原题链接 解题思路:快慢指针,如果快指针被慢指针追上一定是环形链表 /*** Definition for singly-linked list.* struct ListNode {* int va ...
- leetcode - 141. 环形链表(哈希表)
给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. 示例 1: 输入: ...
- Leetcode 141. 环形链表 解题思路及C++实现
解题思路: 定义快慢两个指针,当指针所指节点是同一个时,说明出现了环. /*** Definition for singly-linked list.* struct ListNode {* int ...
最新文章
- pageContext.findAttribute()与pageContext.getAttribute()的区别
- 跟你聊得这么投缘,你却说自己不是人?!
- python udp client
- 自动解析复杂类的属性 实现归档或者进行序列化 反序列话的时候为每一个属性添加序列化方法的繁琐...
- openstack的vnc启动ssl
- mysql5建函数报1064错误,MySQL存储函数创建错误ERROR 1064和1327
- AUTOSAR从入门到精通100讲(四十八)-Lin通信协议栈分析两步走-LinTrcvLIN Driver
- python对excel的操作
- 模式识别与机器学习笔记(二)机器学习的基础理论
- java之StringBuffer
- 【Cesium】Cesium三维模型调整
- STM32F429 之EXTI外部中断
- PMP知识点:项目成本管理计算公式
- ES6(ECMAScript)快速使用
- Exp6 信息搜集与漏洞扫描 20164302 王一帆
- MySQL5.7乱码问题
- java-asc码形式输出
- 小米官宣:手表Color 2来了,6色多彩表带,你喜欢哪个?
- JS 怎么使用十六进制保存100位状态的问题
- 程序员眼中的中国传统文化-王阳明《传习录》