【链表】力扣 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;
    }
}
相关推荐
suhan6 分钟前
【数据结构】五、树:6.平衡二叉树AVL
数据结构·算法·排序算法
suhan7 分钟前
【数据结构】五、树:5.二叉排序树BST
数据结构·算法·排序算法
爱读书的小胖24 分钟前
80. 删除有序数组中的重复项 II
java·数据结构·算法
小画家~1 小时前
vue3 里面的 itemList.reduce
前端·数据结构·算法
tryxr1 小时前
索引概念和索引底层数据结构
数据结构·索引
All for pursuit.2 小时前
【完结】LeetCodeHot100题 详细解题过程及代码汇总
数据结构·c++·算法·leetcode
mmmmath_32 小时前
LeetCode.101.对称二叉树
数据结构·leetcode
Logic1012 小时前
C语言/数据结构位运算题解:异或XOR找出数轴移动中只出现一次的指令——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
重生之小比特2 小时前
【算法拾光】双指针|移动零 + 复写零
数据结构·c++·算法
动词ing5 小时前
[题目练习】三数之和
数据结构