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

009、环形链表

0、题目描述

环形链表
在这里插入图片描述

1、法1

1、 首先判断链表有没有环,方法是快慢指针,如果有环,快指针会追上慢指针,两指针相等。
——————————————————————————————————————————————

Alt
2、我们需要证明一个数学问题,在起始点开始走和在相遇点开始走,再次相遇的地方一定是入环点。在这里插入图片描述
在这里插入图片描述
3、于是在第一段代码的基础上,有环就加一个循环找进环点,没有环就返回空。

struct ListNode *detectCycle(struct ListNode *head) 
{
    struct ListNode* fast = head;    
    struct ListNode* slow = head;
    while (fast && fast->next)
    {
        fast = fast->next->next;
        slow = slow->next;
        if (fast == slow) // 说明有环
        {   //找入环点的代码
            struct ListNode* curr = head;
            while (curr != slow)
            {
                curr = curr->next;
                slow = slow->next;
            }
            return curr;
        }
    }    
    return NULL;
}

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

相关文章:

  • Linux的开发工具gcc Makefile gdb的学习
  • 图书库存控制:Spring Boot进销存系统的应用
  • SAP 关于在交货单进行定价条件的确定简介
  • 【命令操作】Linux上通过mdadm配置软RAID _ 统信 _ 麒麟 _ 方德
  • postgresql进行几何抽稀(DP抽稀)
  • HSIC规范V1.0
  • NVR批量管理软件/平台EasyNVR多个NVR同时管理级联到上级平台通道数量为什么显示不正确?
  • FSCapture 9.3 | 全能截图与录屏解决方案。
  • 【Linux】-权限
  • 在 Flutter鸿蒙next版本 中使用 if 语句和三元表达式进行视图逻辑判断
  • Unity DOTS中的Archetype与Chunk
  • Code Review Item
  • 2024年CRM系统全景:领先品牌的深度解析与企业选择指南
  • 大数据新视界 --大数据大厂之图数据库与大数据:挖掘复杂关系的新视角
  • 嵌入式与 YOLO 目标检测的完美融合
  • Mac ARM 本地运行 Mini-Omni 记录
  • Redis 性能优化选择:Pika 的配置与使用详解
  • 备考408——数据结构基础知识
  • 模型驱动架构(MDA)设计方法及其应用分析
  • C++面试速通宝典——28