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

网站文章收录深圳招工包吃住8000元

网站文章收录,深圳招工包吃住8000元,指定目录调用最新文章wordpress,全国前十名小程序开发公司876. 链表的中间结点 算法 快慢指针 & 题目特征 需要对链表中的节点进行遍历,并且需要根据节点之间的相对位置或者距离进行操作 题目链接:https://leetcode.cn/problems/middle-of-the-linked-list/ 算法 快慢指针 & 题目特征 需要对链表中…

876. 链表的中间结点

    • 算法 = 快慢指针 & 题目特征 = 需要对链表中的节点进行遍历,并且需要根据节点之间的相对位置或者距离进行操作

 


题目链接:https://leetcode.cn/problems/middle-of-the-linked-list/

算法 = 快慢指针 & 题目特征 = 需要对链表中的节点进行遍历,并且需要根据节点之间的相对位置或者距离进行操作

思路:用两个指针 slow 与 fast 一起遍历链表。slow 一次走一步,fast 一次走两步。那么当 fast 到达链表的末尾时,slow 必然位于中间。

class Solution {
public:ListNode* middleNode(ListNode* head) {ListNode* slow, head = nullptr;while (fast != nullptr && fast->next != nullptr) {slow = slow->next;fast = fast->next->next;}return slow;}
};

细节处理:如果有两个中间结点,则返回第二个中间结点。

对于一个偶数长度的链表,假设链表中有 6 个节点,节点分别为 1 -> 2 -> 3 -> 4 -> 5 -> 6。

当 slow 和 fast 初始都指向链表的头节点时,slow 每次移动一步,fast 每次移动两步。

  1. 第一步:slow 移动到节点 2,fast 移动到节点 3。
  2. 第二步:slow 移动到节点 3,fast 移动到节点 5。
  3. 第三步:slow 移动到节点 4,fast 移动到节点 6。

此时,fast 到达了链表的末尾,slow 位于链表的中间位置,即节点 4。

根据这个例子,我们可以看到,当链表长度为偶数时,slow 确实返回的是中间的第二个节点,即节点 4。这是因为 fast 每次移动两步,相当于 slow 移动的速度的两倍,所以在链表长度为偶数时,slow 必然会落在中间的第二个节点上。

如果希望返回中间的第一个节点,可以在初始化时让 fast 指向链表的第一个节点,然后进行相同的遍历操作。这样,当 fast 到达链表的末尾时,slow 就会指向中间的第一个节点。
 


细节处理:如果我们希望在链表长度为偶数时返回中间的第一个节点,可以进行相应的调整,例如让 fast 初始时指向链表的第二个节点,然后进行相同的遍历操作。这样,当 fast 到达链表末尾时,slow 就会指向中间的第一个节点。

对于一个偶数长度的链表,假设链表中有 6 个节点,节点分别为 1 -> 2 -> 3 -> 4 -> 5 -> 6。

当 slow 初始指向链表的头节点,fast 初始指向链表的第二个节点时,slow 每次移动一步,fast 每次移动两步。

  1. 第一步:slow 移动到节点 1,fast 移动到节点 3。
  2. 第二步:slow 移动到节点 2,fast 移动到节点 5。
  3. 第三步:slow 移动到节点 3,fast 移动到节点 6。

此时,fast 到达了链表的末尾,slow 位于链表的中间位置,即节点 3。

根据这个例子,我们可以看到,当链表长度为偶数时,通过让 fast 初始指向链表的第二个节点,slow 确实返回的是中间的第一个节点,即节点 3。

所以,通过调整 fast 初始位置,我们可以控制在链表长度为偶数时返回中间的第一个节点还是第二个节点。

http://www.yayakq.cn/news/558207/

相关文章:

  • 网站入口首页电子商务网站的开发原则包括
  • 创立个网站专业卖手机万维网注册域名后怎么导入网站
  • 做网站的客户资料交换qq群app软件开发哪个公司好
  • 企业网站建设费用深圳打开百度首页
  • 哪一个做网站模版好用的学生可做的网站主题
  • 网站建设系统课程给网站设置关键词
  • 网站开发规范有哪些网站做抽奖活动
  • 花生壳怎么做网站山东教育行业网站建设推荐
  • 国家建设部投诉网站微信旧版本下载
  • 万能素材网站下载大型房产网站建设
  • 服装外贸erp北京seo收费
  • 做下载网站挣钱吗宜州做网站需要多少钱
  • 网站建设找盛誉网络如何给自己网站做外链
  • 惠州住房和建设局网站xxx美食网站建设规划书
  • 宁波网站建设团队百度问答库
  • 黑龙江省建设主管部门网站家在坪山业主论坛家在深圳
  • 顺德品牌网站建设价位搭建网站需要什么语言
  • 营销型网站建设推荐赚钱做网站
  • 缙云建设局网站怎样用网络挣钱
  • 苏州建站公司建个人博客网站
  • 山西省建设厅官方网站京东网站建设的主旨
  • 教育网站设计方案中国农村建设投资有限公司网站
  • 珠海的门户网站有哪些wordpress播放器问题
  • 秦皇岛网站设计公司医院网站建设的话术
  • 装个宽带多少钱北京债务优化公司
  • 东阳网站建设dyfwzxwordpress广告代码是什么意思
  • 办一个购物网站要多少钱怎么样做淘宝优惠券网站
  • 没有网站怎么做淘宝客服装电子商务网站建设与实现
  • 东莞 营销网站制作哪些企业网站使用水墨风格
  • 网站建设分项报价表珠海住房和建设局网站