当前位置:首页 » 《随便一记》 » 正文

【C语言】Leetcode 876. 链表的中间节点

10 人参与  2024年03月08日 10:31  分类 : 《随便一记》  评论

点击全文阅读


主页:17_Kevin-CSDN博客

专栏:《Leetcode》

题目

 通过题目的要求可以判断出有两种示例要解决,一种是偶数节点的链表,一种是奇数节点的链表,应对这两种情况我们需要使程序对二者都可以兼容。

解决思路

struct ListNode* middleNode(struct ListNode* head) {    struct ListNode *slow = head,*fast = head;    while(fast && fast -> next)    {        slow = slow -> next;        fast = fast -> next -> next;    }    return slow;}

中间节点,只要找到中间的位置就能找到中间的节点。那么这个位置要怎么去查找呢?

我们可以用快慢指针的思想来进行查找,定义一个慢指针,再定义一个是慢指针速度二倍的快指针,这样的话当快指针到最后的位置的时候慢指针指向的就是中间节点了。

但是在查找的时候还要同时解决上面提到的两种情况:

①奇数链表

从两个指针的初始开始研究,当前两个指针都处在第一个节点的位置,然后我们开始移动。

可以发现,在奇数数量节点的链表中,当fast到达最后一个节点的时候slow刚好指向了中间节点。这样就完成了查找中间节点的目的,该遍历循环的条件是fast -> next != NULL,也就是当fast的next是NULL的时候终止循环,此时的slow指向就是中间节点。

②偶数链表

同样的,我们也是从头开始循环。

因为是偶数链表,所以需要查找到的中间节点的位置是中间两个节点中的第二个,当循环后发现,当fast到达NULL的时候slow指向的才是中间的第二个节点,所以该情况的循环条件为fast != NULL。


以上便是本篇博客的全部内容,感谢您的支持~ 


点击全文阅读


本文链接:http://zhangshiyu.com/post/75707.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 寒星碎梦不回舟(顾知舟安千雪)阅读 -
  • 穿越八零替嫁后我成了军官心尖宠完结版小说(杨念念陆时深)全文免费阅读无弹窗大结局_(穿越八零替嫁后我成了军官心尖宠完结版免费阅读全文大结局)最新章节列表_笔趣阁(穿越八零替嫁后我成了军官心尖宠完结版) -
  • 偏执占有完整版阅读沈黎月蒋美云(沈黎月蒋美云)全文免费阅读无弹窗大结局_(沈黎月蒋美云)偏执占有完整版阅读小说最新章节列表_笔趣阁(沈黎月蒋美云) -
  • 顾瑶陆泽免费阅读_顾瑶陆泽小说全文阅读笔趣阁
  • 《温玉溪陆霆琛》已完结小说全文阅读笔趣阁《温玉溪陆霆琛》
  • 最新好看小说推荐女朋友带全家白嫖我新年旅行(陈茜茜陈娇娇岩辉)_女朋友带全家白嫖我新年旅行(陈茜茜陈娇娇岩辉)完整版小说免费阅读
  • 和双胞胎姐姐互换身份后,老公悔疯了(林尔陈鸢)完本小说免费_全本免费小说和双胞胎姐姐互换身份后,老公悔疯了最新小说全文阅读(林尔陈鸢)
  • 最新热门小说斩断因果后,魔主跳出三界寻我_顾怜声林墨最热门小说_免费完结版小说(顾怜声林墨)
  • 春风有情难寻桃花(裴淮州沈轻语)免费阅读 -
  • 拨雪逢春,得见青山(江雨宁沈言澈)免费阅读 -
  • 我选光头大魔王很合理吧全章节(陈业唐紫尘)全文免费阅读无弹窗大结局_(陈业唐紫尘)我选光头大魔王很合理吧全章节小说最新章节列表_笔趣阁(我选光头大魔王很合理吧全章节) -
  • 《拼命挣钱给男友治病后,发现男友在装穷》无删减章节目录在线阅读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1