LeetCode(力扣):环形链表

提示:

  • 链表中节点的数目范围是 [0, 104]
  • -105 <= Node.val <= 105
  • pos-1 或者链表中的一个 有效索引

进阶: 你能用 O(1)(即,常量)内存解决此问题吗?

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;
        ListNode fast = head;
        //只要当前节点不为null,并且下一个节点不为null就继续
        while(fast != null && fast.next != null){
            //慢指针一次一步,快指针一次两步
            slow = slow.next;
            fast = fast.next.next;
            //两个相遇,说明是环
            if(slow == fast){
                return true;
            }
        }
        //跑到尽头为null,不是环
        return false;
    }
}

快指针只能每次走2步,不能是3步,因为三步可能导致直接越过慢指针,会多绕几圈才能碰到。

相关推荐
有点。4 小时前
C++03阶段练习(练习题)
数据结构·算法·图论
周末也要写八哥5 小时前
经典算法实例:游戏中弱角色的数量(二)
算法
是Yu欸5 小时前
鸿蒙PC移植:2048 从网页小游戏到 AI 桌面应用
大数据·人工智能·算法·数据挖掘·openharmony·codex
鹿角片ljp6 小时前
KV Cache 解析
java·算法
liliangcsdn6 小时前
IVOL与偏度因子的对比测量分析
算法
threerocks7 小时前
Jev 入门第一课
算法
西柚研究生1234568 小时前
论文分析17:YOLOv11_UAVNet:无人机航拍图像专用目标检测算法
人工智能·python·深度学习·算法·目标检测
hetao17338379 小时前
2026-09-17 hetao1733837 的刷题记录
c++·算法
午彦琳10 小时前
2026.9.17
数据结构·算法·leetcode
木井巳10 小时前
【记忆化搜索】不同路径
java·算法·leetcode·深度优先·剪枝·推荐算法