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

C++速通LeetCode中等第16题-环形链表II(快慢指针)

 算法思路(主要是数学推导):

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode *detectCycle(ListNode *head) {int count = 0;ListNode* fast = head;ListNode* slow = head;while(fast != nullptr && fast->next != nullptr){slow = slow->next;fast = fast->next->next;if(slow == fast) {ListNode* ptr = head;//快慢指针相遇后,在链表头节点创建新指针,它和慢指针一起跑一定会第一次就在环的开始相遇while(slow != nullptr && slow->next != nullptr){if(slow == ptr) return ptr;slow = slow->next;ptr = ptr->next;}}}return nullptr;}
};


http://www.mrgr.cn/news/31748.html

相关文章:

  • Linux笔记---简单指令
  • 前端框架Vue、React、Angular、Svelte对比
  • 写作练习(一)
  • 2024年华为杯中国研究生数学建模竞赛F题(X射线脉冲星光子到达时间建模)思路
  • 为什么Redis这么快及可以实现的功能
  • 大厂校招:希音(Shein)校园招聘面试题及参考答案
  • JavaEE: 深入探索TCP网络编程的奇妙世界(二)
  • idea中.git文件夹存在但是没有git功能列表
  • 关于CONCAT(‘18‘,FLOOR(RAND()*X);
  • Spring Boot技术在高校心理辅导系统中的应用研究
  • 下一代测试人:T人 or I人!
  • 搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(三)-文档
  • 【C/C++】速通涉及string类的经典编程题
  • YOLOv9改进,YOLOv9主干网络替换为RepViT (CVPR 2024,清华提出,独家首发),助力涨点
  • 直播音频解决方案
  • Python 二级考试
  • VulnHub-Narak靶机笔记
  • 【学习笔记】STM32F407探索者HAL库开发(四)F103时钟系统配置
  • 从一个文本文件中挑选出符合条件的内容行
  • Go-知识-定时器