当前位置: 首页 > article >正文

力扣 142.环形链表Ⅱ【详细解释】

一、题目

在这里插入图片描述

二、思路

在这里插入图片描述
请添加图片描述

三、代码

/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public ListNode detectCycle(ListNode head) {
        ListNode fast = head, slow = head;
        // 判断是否有环
        while (fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
            // slow 和 fast 相遇即表示有环存在
            if (slow == fast) {
                ListNode index1 = head;
                ListNode index2 = slow;
                // 有环则一定有入口点
                while (index1 != index2) {
                    index1 = index1.next;
                    index2 = index2.next;
                }
                return index1;
            }
        }
        return null;
    }
}

http://www.kler.cn/news/356812.html

相关文章:

  • C#的自定义对话框和提示窗体 - 开源研究系列文章
  • Shell脚本:用户和用户组管理全面指南
  • 如何用代码将网页打开
  • Hbase安装及使用
  • OpenCV高级图形用户界面(6)获取指定窗口中图像的矩形区域函数getWindowImageRect()的使用
  • 业务逻辑漏洞之墨者学院靶场——身份认证失效
  • 【文化课学习笔记】【化学】选必三:同分异构体的书写
  • 初识Linux之指令(二)
  • 学习资料分享平台计算机毕设基于SpringBootSSM框架
  • 【经典卷积网络】(一)——LeNet-5
  • perl 给特定文件加上特定内容
  • DBeaver导出数据表结构和数据,导入到另一个环境数据库进行数据更新
  • Java中的equals()和hashCode()方法是如何工作的?
  • opencv学习:人脸识别器特征提取BPHFaceRecognizer_create算法的使用
  • R语言机器学习算法实战系列(三)lightGBM算法+SHAP值(Light Gradient Boosting Machine)
  • 前端知识整理(全屏播放器 CSS JavaScript 轮转播放 jquery库 AJAX 画布 网页测试)
  • Android技术探索:深入解析Android组件
  • #嵌入式笔面经分享#科大讯飞公司嵌入式硬件面经(第1面)
  • MySQL之Buffer Pool缓冲池详解
  • 基于SpringBoot的班级综合测评管理系统