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

力扣-链表-142 环形链表Ⅱ

思路

利用快慢指针判断环是否存在,然后利用数学公式找到存在环的情况下找入口

代码

class Solution {
public:
    ListNode *detectCycle(ListNode *head) {
        if(head == NULL || head->next==NULL || head->next->next == NULL){
            return NULL;
        }
        ListNode* fast = new ListNode();
        ListNode* slow = new ListNode();
        fast = head->next->next;
        slow = head->next;

        while(fast != slow){
            if(fast->next == NULL || fast->next->next == NULL || slow->next == NULL){
                return NULL;
            }
            fast = fast->next->next;
            slow = slow->next;
        }
        ListNode* index1= head;
        ListNode* index2 = fast;
        while(index1 != index2){
            index1 = index1->next;
            index2 = index2->next;
        }

        return index1;
    }
};


http://www.kler.cn/a/529068.html

相关文章:

  • pytorch实现主成分分析 (PCA):用于数据降维和特征提取
  • 本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操
  • C++:虚函数与多态性习题2
  • 全程Kali linux---CTFshow misc入门(25-37)
  • Android记事本App设计开发项目实战教程2025最新版Android Studio
  • 浅色可视化大屏虽然经常被诟病,也有自己的用武之地呀
  • AI(计算机视觉)自学路线
  • 【模拟汽笛ISIS】2022-9-15
  • BUUCTF [Black Watch 入群题]PWN1 题解
  • JAVA学习-练习试用Java实现“使用Swing创建一个带有按钮的窗口”
  • 一些计算机零碎知识随写(25年2月)
  • 论文和代码解读:RF-Inversion 图像/视频编辑技术
  • 7 与mint库对象互转宏(macros.rs)
  • 快速提升网站收录:利用网站分析工具
  • 比较热门的嵌入式项目
  • Maya软件安装步骤与百度网盘链接
  • ArkTS高性能编程实践
  • Linux进程控制:【进程创建】【进程终止】【进程等待】【进程程序替换】【自主shell命令行解释器】
  • Android 音视频编解码 -- MediaCodec
  • 自动化测试框架搭建-封装requests-优化
  • 42【语言的编码架构】
  • 记5(一元逻辑回归+线性分类器+多元逻辑回归
  • 计算机视觉和图像处理
  • FPGA|安装USB Blaster驱动
  • 5 个开源且免费的提示词管理系统,按照 从优到劣 排序
  • OFDM系统仿真