【链表】力扣 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;
    }
}
相关推荐
田梓燊4 小时前
力扣:19.删除链表的倒数第 N 个结点
算法·leetcode·链表
阿豪学编程6 小时前
面试题map/unordered相关
数据结构
武藤一雄6 小时前
19个核心算法(C#版)
数据结构·windows·算法·c#·排序算法·.net·.netcore
梦想的颜色6 小时前
mongoTemplate + Java 增删改查基础介绍
数据结构·数据库·mysql
叶小鸡8 小时前
小鸡玩算法-力扣HOT100-堆
数据结构·算法·leetcode
小雅痞8 小时前
[Java][Leetcode simple] 28. 找出字符串中第一个匹配项的下标
java·开发语言·leetcode
LUVK_10 小时前
第七章查找
数据结构·c++·考研·算法·408
khalil102010 小时前
代码随想录算法训练营Day-31贪心算法 | 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
数据结构·c++·算法·leetcode·贪心算法·二叉树·递归
数智化精益手记局11 小时前
人员排班管理软件的自动化功能解析:解决传统手工人员进行排班管理耗时长的难题
运维·数据结构·人工智能·信息可视化·自动化·制造·精益工程
LeocenaY11 小时前
C语言面试题总结
c语言·开发语言·数据结构