【链表】力扣 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;
    }
}
相关推荐
Love_云宝儿9 小时前
WKT数据示例并与GeoJSON数据对比
数据结构·gis
风筝在晴天搁浅9 小时前
快手 CodeTop LeetCode 224.基本计算器
数据结构·算法·leetcode
牢姐与蒯10 小时前
c++数据结构之c++11(一)
数据结构·c++
iiiiyu10 小时前
IO流(二)
java·开发语言·数据结构·编程语言
啦啦啦啦啦zzzz10 小时前
数据结构:平衡二叉树
数据结构·c++·二叉树
8Qi811 小时前
LeetCode 31:下一个排列(Next Permutation)—— 完整题解笔记 ✅
笔记·算法·leetcode·指针·思维·排列
玖釉-12 小时前
编辑距离(Edit Distance)——从字符串相似度到动态规划经典模型
算法·leetcode·动态规划
_日拱一卒13 小时前
LeetCode:46全排列
算法·leetcode·职场和发展
剑挑星河月13 小时前
31.下一个排列
java·算法·leetcode
凌波粒13 小时前
LeetCode--98.验证二叉搜索树(二叉树)
算法·leetcode·职场和发展