• 你不知道的环形链表 ??


    你不知道的环形链表 😊😊??

    在这里插入图片描述


    每博一文案

    有人说,当你有一肚子的心里话,想要找个人倾诉的时候,
    你一定要找真正懂你的人,因为不是所有人都会在乎你说的话。
    愿意陪你,谈笑的人很多,但能倾听你心事的人很少,有些话只能
    给懂的人听,和不懂自己的人,说再多也换不来一句关心。
    快乐分享错了人,就成了显摆,
    难过分享错了人,就成了侨情,
    和懂你的人,倾诉,无需多言,他自懂你的委屈待遇,
    不懂你的人,你的委屈和难过,对他来说就是轻描淡写,是过眼云烟
    你说的再多,也只是无济于事,就像作家独木舟说的那样,
    世界上其实根本就没有感同身受,这回事,
    针不是刺到别人身上,他们就不知道有多痛。
                                     ——————————————   一禅心灵庙语
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12


    在这里插入图片描述


    • 同样的解决该问题的方法也是十分有意思的:
    • 使用一个二倍速的指针,如果存在 的话,这个快的二倍速指针 就会追上(相遇到)那个 的指针
    • 解决代码如下:
    bool hasCycle(struct ListNode* head)
    {
       if (NULL == head)
       {
          return false;
       }
    
       struct ListNode* slow = head;  // 慢指针
       struct ListNode* falst = head; // 快指针(二倍速)
    
       while (falst && falst->next) // NULL != falst && NULL != falst->next
       {
          slow = slow->next;  // 一次走一步
          falst = falst->next->next; // 一次走两步
    
          if (falst == slow) // 两指针相遇了,说明,该链表存在环
          {
             return true;    // 返回 true
          }
       }
    
       return false;        // 跳出循环了,链表走尽了,说明不存在环,返回 false
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    在这里插入图片描述


    • 如果一定存在环的情况下: slow 一次走 一步,falst 一次走 两步,它们俩一定会相遇吗?

    在这里插入图片描述

    答,存在环的情况下: slow 一次走 一步,falst 一次走 两步 是一定会相遇的,

    slow 进环以后,falst 正式开始追 slow 了,这里假设,falstslow 之间的距离是 N ,那么在追的过程中,他们之间的距离变化是如下的:

    在这里插入图片描述


    • 同样如果一定存在环的情况下: slow 每次走 一步,falst 每次走 三步,呢还会相遇吗 ??

    答,slow 每次走 一步,falst 每次走 三步,就不一定会相遇了,有可能是永远错过不会相遇的

    在这里插入图片描述

    slow 进环以后,falst 正式开始追 slow 了,这里假设,falstslow 之间的距离是 N ,那么在追的过程中,他们之间的距离变化是如下的

    在这里插入图片描述


    • 同样如果一定存在环的情况下: slow 每次走 一步,falst 每次走 四 步,呢还会相遇吗 ??

    答,slow 每次走 一步,falst 每次走 四 步,就不一定会相遇了,有可能是永远错过不会相遇的

    在这里插入图片描述

    slow 进环以后,falst 正式开始追 slow 了,这里假设,falstslow 之间的距离是 N ,那么在追的过程中,他们之间的距离变化是如下的

    在这里插入图片描述


    最后:

    限于自身水平,其中存在的错误,希望大家给予指教,韩信点兵——多多益善,谢谢大家!后会有期,江湖再见!


  • 相关阅读:
    Spring web security
    第6节-PhotoShop基础课程-认识选区
    【Redis】哨兵
    应对出海安全合规挑战,兆珑科技为什么选择了亚马逊云科技?
    国家开放大学 试题练习
    【电子电路】简易电子负载
    神经网络反向传播的数学原理
    在C++和C中static关键字的用法,在C++和C中const关键字的用法
    高德百度的逆地理编码接口对比
    最新Adobe2024全家桶下载,PS/PR/AE/AI/AU/LR/ID详细安装教程
  • 原文地址:https://blog.csdn.net/weixin_61635597/article/details/125629532