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

链表算法之【获取链表开始入环的节点】

目录

LeetCode-142题


LeetCode-142题

给定一个链表的头节点head,返回链表开始入环的第一个节点,如果链表无环,则返回null

class Solution {public ListNode detectCycle(ListNode head) {// checkif (head == null || head.next == null)return null;// 链表是否有环的标识,初始值设置为falseboolean hasCycle = false;// 定义两个指针,一个快指针[fast],一个慢指针[slow],并且它们开始都指向头节点ListNode fast = head;ListNode slow = head;// fast指针一次前进两个节点,slow指针一次前进一个节点while (fast != null && fast.next != null) {fast = fast.next.next;slow = slow.next;// 如果fast和slow能相遇,链表存在环if (fast == slow) {hasCycle = true;break;}}// 链表无环,返回nullif (!hasCycle) {return null;}// fast指针回到初始位置,也就是头节点// 快慢指针都每次前进1个节点,再次相遇的位置就是第一次开始入环的节点位置fast = head;for (; ; ) {// 有可能在回到头节点就相遇if (slow == fast)return slow;slow = slow.next;fast = fast.next;if (slow == fast)return slow;}}private static class ListNode {int val;ListNode next;public ListNode() {}public ListNode(int val) {this.val = val;}public ListNode(int val, ListNode next) {this.val = val;this.next = next;}}
}

http://www.dtcms.com/a/279063.html

相关文章:

  • Codeforces Round 1019 (Div. 2) A-D
  • Windows下安装nvm管理多个版本的node.js
  • 在项目中集成开源的表单设计器FcDesigner源码
  • 「源力觉醒 创作者计划」_文心开源模型(ERNIE-4.5-VL-28B-A3B-PT)使用心得
  • linux系统下Ollama 模型下载出现 “no space left on device” 错误(非Docker)怎么删缓存/没下完的模型?
  • Docker入门基础
  • Vue+axios
  • Cadence操作说明
  • STM32固件升级设计——SD卡升级固件
  • 论文阅读:WildGS-SLAM:Monocular Gaussian Splatting SLAM in Dynamic Environments
  • 如何在 React + TypeScript 中实现 JSON 格式化功能
  • 【React Natve】NetworkError 和 TouchableOpacity 组件
  • MySQL的可重复读隔离级别实现原理分析
  • 银河麒麟KYSEC安全机制详解
  • 在echarts中legend中设置rich中第二项的宽度不起作用的处理方案。
  • PyTorch张量(Tensor)创建的方式汇总详解和代码示例
  • 鸿蒙Next开发,配置Navigation的Route
  • 26-计组-多处理器
  • HCIA认证核心知识体系全解析
  • OpenCV计算机视觉实战(15)——霍夫变换详解
  • Mars3d的走廊只能在一个平面的无法折叠的解决方案
  • UNet 改进(36):引入ELAN-FR模块(通道注意力+空间注意力)
  • 华为OD 消消乐游戏
  • 机器学习/深度学习训练day1
  • 第十五节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - vue前端 生产部署
  • Java 中的类加载机制:从 Class 文件到内存中的类
  • 11、鸿蒙Harmony Next开发:列表布局 (List)
  • Mysql用户管理及在windows下安装Mysql5.7(压缩包方式)远程连接云服务器(linux)上的Mysql数据库
  • spring bean初始化异步执行
  • Java字符串、时间、数字知识点