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

【力扣-141】 环形链表 + 【力扣-142】 环形链表 II

🖊作者 : Djx_hmbb
📘专栏 : 数据结构
😆今日分享 : 霍桑效应(霍索恩效应) : 是指那些意识到自己正在被别人观察的个人具有改变自己行为的倾向。
霍桑效应告诉我们:从旁人的角度,善意的谎言和夸奖真的可以造就一个人;从自我的角度,你认为自己是什么样的人,你就能成为什么样的人。
请添加图片描述

环形链表

  • 🖋题目链接:
  • ✔题目>环形链表 :
  • 🔎代码详情:
  • ✔题目>环形链表 II:
  • ✔解题思路:
  • 🔎代码详情:
  • 总结:
    • 家人们,点个![请添加图片描述](https://img-blog.csdnimg.cn/11dae7d2dd1b46b2b021edaccee67cf1.jpeg)再走呗~

🖋题目链接:

【力扣-141】 环形链表
【力扣-142】 环形链表 II

✔题目>环形链表 :

在这里插入图片描述

🔎代码详情:

bool hasCycle(struct ListNode *head) {struct ListNode *fast,*slow;fast = slow = head;//判断是否有环while(fast && fast->next){fast = fast->next->next;slow = slow->next;//追击问题if(fast == slow){return true;}}return false;
}

✔题目>环形链表 II:

在这里插入图片描述

✔解题思路:

请添加图片描述

如果链表存在环,则fast和slow会在环内相遇,定义相遇点到入口点的距离为X,定义环的长度为C,定义头到入口的距离为L,fast在slow进入环之后一圈内追上slow,则会得知:
slow所走的步数为:L + N
fast所走的步数为:L + N + K * C
并且fast所走的步数为slow的两倍,故:
2*(L + N) = L + N + K * C
即: L = K * C - N
所以从相遇点开始slow继续走,让一个指针从头开始走,相遇点即为入口节点

🔎代码详情:

struct ListNode *detectCycle(struct ListNode *head) {struct ListNode *fast,*slow;fast = slow = head;//判断是否有环while(fast && fast->next){fast = fast->next->next;slow = slow->next;//追击问题if(slow == fast){struct ListNode *meet = slow;struct ListNode *start = head;while(meet != start){meet = meet->next;start = start->next;}return meet;}}return NULL;
}

总结:

这个题目考察的主要是思维,如果是在搞不懂,也不用太气馁,慢慢来,实在不行,咱记住怎么写的就行,问题不大!


感谢家人的阅读,若有不准确的地方 欢迎在评论区指正!

家人们,点个请添加图片描述再走呗~

http://www.lryc.cn/news/63138.html

相关文章:

  • 云计算:优势与未来趋势
  • Linux namespace
  • 第十三章 移动和旋转(上)
  • 视频文件切片
  • 维生素的缺乏与生理功能,是否需要补充维生素【持续学习】
  • CUDA下载,以及下载GPU版本的pytorch
  • 学习笔记:c存储类
  • 236. 二叉树的最近公共祖先【190】
  • 即时配送,即时很重要!商家能不能盈利,“快”是源头
  • ChatGPT原理剖析
  • 「C/C++」C/C++软件跨平台思维
  • c# 通过界面上填写的信息输出到对应的word中,并另存为一个新的文件
  • HTML+CSS+JS 学习笔记(四)———jQuery
  • TryHackMe-Mnemonic(boot2root)
  • Nacos注册中心的使用
  • 项目中别用 “! = null“ 做判空了
  • MySQL数据库——MySQL子查询
  • 工具链和其他-超级好用的web调试工具whistle
  • ROS第四十三节——定位
  • 2023年第二十届五一数学建模竞赛题目 C题详细思路
  • 模块化编程原理示意图--CommonJS 模块编程--ES6 模块编程思路分析/图解--三种导出形式--全部代码示例
  • Ansys Zemax | 如何模拟双折射偏振器件
  • Java关键字之:this
  • 嵌入式Linux驱动开发(九)Linux中断
  • 数据库系统-并发控制
  • Java8 教程_编程入门自学教程_菜鸟教程-免费教程分享
  • 从零开始学架构——高可用存储架构
  • 连ChatGPT都不懂的五一调休,到底怎么来的?
  • AES工作流程
  • C++11