【链表】力扣 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;
    }
}
相关推荐
漫随流水几秒前
leetcode算法(101.对称二叉树)
数据结构·算法·leetcode·二叉树
2301_7644413336 分钟前
python实现罗斯勒吸引子(Rössler Attractor)
开发语言·数据结构·python·算法·信息可视化
漫随流水1 小时前
leetcode算法(559.N叉树的最大深度)
数据结构·算法·leetcode·二叉树
爱编程的小吴2 小时前
【力扣练习题】151. 反转字符串中的单词
java·算法·leetcode
ホロHoro2 小时前
数据结构非线性部分(二)review
linux·服务器·数据结构
菜鸟233号2 小时前
力扣474 一和零 java实现
java·数据结构·算法·leetcode·动态规划
xlp666hub2 小时前
链表与它在 Linux 内核中的实现
linux·数据结构
super杨某人2 小时前
算法十日谈:双指针
数据结构·算法
不知名XL3 小时前
day22 回溯算法part04
算法·leetcode·职场和发展
好奇龙猫3 小时前
【大学院-筆記試験練習:线性代数和数据结构(7)】
数据结构·线性代数