【链表】力扣 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;
    }
}
相关推荐
杨航 AI12 小时前
** AI 面试算法 50 题清单**,不是单纯的 LeetCode 题号列表,而是按照“**考察概率 × 面试价值 × 你当前准备方向**”排序
算法·leetcode·面试
.道阻且长.21 小时前
5.LeetCode算法习题讲解--双指针--有效三角形的个数
算法·leetcode·职场和发展
wabs6661 天前
关于图论【最短路径之Bellman_ford 算法(单源有限最短路)|卡码网96.城市间货物运输III的思考】
数据结构·算法·图论·卡码网·bellman_ford·单源有限最短路
imaol11 天前
链表 -- 环链表
java·前端·链表
wuyk5551 天前
2.队列:先进先出的线性数据结构
c语言·数据结构·stm32·单片机
imaol11 天前
链表 -- 双向链表
java·前端·链表
lsylalalala1 天前
常见的排序算法1
数据结构·算法·排序算法
xin_nai1 天前
LeetCode热题100(Java)(7)链表(下)
java·leetcode·链表
想吃火锅10051 天前
【leetcode】54. 螺旋矩阵
算法·leetcode·矩阵
想吃火锅10051 天前
【leetcode】300. 最长递增子序列
算法·leetcode·职场和发展