【链表】力扣 141. 环形链表

一、题目

二、思路

  • 龟兔进行赛跑
    • 龟的速度是 1,兔的速度是 2
    • 龟兔从同一起点出发,若 龟追上兔 则说明 有环 存在;若追不上,则说明无环。

三、代码

java 复制代码
/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public boolean hasCycle(ListNode head) {
        // 龟兔位于同一起点
        ListNode slow = head, fast = head;
        while(fast != null && fast.next != null) {
            slow = slow.next;// 龟走1步
            fast = fast.next.next;// 兔走2步
            if(fast == slow) {//龟兔相遇->进入环
                return true;
            }
        }
        return false;
    }
}
相关推荐
-dzk-8 小时前
【链表】LC 160.相交链表
数据结构·链表
Hi李耶8 小时前
【LeetCode】6-Z字形变换
算法·leetcode·职场和发展
AKA__Zas9 小时前
芝士算法(前缀和2.0)
java·数据结构·算法·leetcode·哈希算法·学习方法
mifengxing9 小时前
Java 集合进阶(一)
java·开发语言·数据结构·复习笔记
Tisfy10 小时前
LeetCode 0486.预测赢家:深度优先搜索(DFS)
算法·leetcode·深度优先·dfs·博弈
risc12345611 小时前
序列化框架
数据结构
MIngYaaa52011 小时前
2026暑期牛客多校1 2026-7-17
数据结构·算法
wabs66611 小时前
关于图论【卡码网107.寻找存在的路线的思考】
数据结构·算法·图论
圣保罗的大教堂12 小时前
leetcode 3016. 输入单词需要的最少按键次数 II 中等
leetcode
冻柠檬飞冰走茶13 小时前
PTA基础编程题目集 7-34 通讯录的录入与显示(C语言实现)
c语言·开发语言·数据结构·算法