【链表】力扣 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;
    }
}
相关推荐
I_LPL3 小时前
hot100贪心专题
数据结构·算法·leetcode·贪心
m0_672703316 小时前
上机练习第51天
数据结构·c++·算法
仰泳的熊猫7 小时前
题目2577:蓝桥杯2020年第十一届省赛真题-走方格
数据结构·c++·算法·蓝桥杯
灰色小旋风8 小时前
力扣13 罗马数字转整数
数据结构·c++·算法·leetcode
ccLianLian9 小时前
数论·欧拉函数
数据结构·算法
会编程的土豆10 小时前
C++中的 lower_bound 和 upper_bound:一篇讲清楚
java·数据结构·算法
阿里嘎多哈基米10 小时前
速通Hot100-Day09——二叉树
算法·leetcode·二叉树·hot100
Frostnova丶10 小时前
LeetCode 48 & 1886.矩阵旋转与判断
算法·leetcode·矩阵
多打代码10 小时前
2026.3.22 回文子串
算法·leetcode·职场和发展
HUTAC10 小时前
关于进制转换及其应用的算法题总结
数据结构·c++·算法