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

力扣-142.环形链表II

题目描述

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

不允许修改 链表。

class Solution {
public:ListNode *detectCycle(ListNode *head) {ListNode *fast = head;ListNode *slow = head;while (fast) {slow = slow->next;if(fast->next){fast = fast->next->next;}else{return nullptr;	//处理边界值}if (fast == slow) {break;}}if(fast!=slow)return nullptr;fast = head;while (fast != slow) {fast = fast->next;slow = slow->next;}return slow;}
};

小结:这道题在上一道题的基础上,不仅要判断是否有环,还要返回入环结点
在这里插入图片描述
a+(n+1)b+nc=2(a+b)⟹a=c+(n−1)(b+c)根据图示推导出这个公式,之后让快指针回到起点,并和慢指针以同样的速度移动,会发现快指针走距离a的时候,慢指针正好走距离c+(n-1)圈,即快慢指针在入环点相遇。需要注意的是本题有一个边界样例,只有一个结点且没有环,需要额外判断一下。

相关文章:

  • Windows (可永久)暂停更新用以解决兼容性、性能与稳定性问题
  • pytest自动化测试框架搭建,并生成allure测试报告
  • 基础编程题目集 6-9 统计个位数字
  • 二元随机响应(Binary Randomized Response, RR)的翻转概率
  • 手撕基于AMQP协议的简易消息队列-4(项目需求分析)
  • 如何查看某个文件中的特殊符号
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: 如何获取自身程序的所在的目录?
  • 【前端基础】8、CSS的选择器
  • Jquery ajax 提交序列化或JSON数据到后台
  • LeetCode算法题(Go语言实现)_61
  • 基于大数据分析的Facebook隐私保护策略
  • 全球电商新势力崛起:拆解Coupang的“韩国速度“与未来棋局
  • ESP32开发之freeRTOS的互斥量
  • C++:扫雷游戏
  • MCP vs Function Call:AI交互的USB-C革命
  • Python实现文件批量改名功能
  • MySQL中隔离级别那点事
  • rom定制系列------红米note12 5G版miui14修改型号root版 原生安卓14批量线刷固件 原生安卓15等
  • 【MySQL】存储引擎 - CSV详解
  • @AutoConfigureBefore功能简介-笔记
  • 央行:中国政府债务扩张仍有可持续性
  • “三德子”赵亮直播间卖“德子土鸡”,外包装商标实为“德子土”
  • A股26家游戏企业去年营收近1900亿元:过半净利下滑,出海成为主流选择
  • 同观·德国|默茨当总理后,能否带领德国在欧盟“说了算”?
  • 证监会主席吴清:我们资本市场最重要的特征是“靠谱”
  • 吴清:全力支持中央汇金公司发挥好类“平准基金”作用