leetcode876.链表的中间结点
- 手机
- 2025-08-24 05:24:02

目录 问题描述示例提示 具体思路思路一 代码实现 问题描述
给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。
题目链接:链表的中间结点
示例提示
链表的结点数范围是 [1, 100] 1 <= Node.val <= 100
具体思路 思路一使用快慢指针。定义个slow的慢指针,每次往后面走一个,定义一个fast的快指针,每次往后面走两个。当奇数个数据的时候,fast的next走到空就停止,当偶数个数据的时候,fast走到空就停止。
代码实现 //思路1 /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* middleNode(struct ListNode* head) { struct ListNode* slow = head; struct ListNode* fast = head; while(fast && fast->next) { slow=slow->next; fast=fast->next->next; } return slow; }leetcode876.链表的中间结点由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“leetcode876.链表的中间结点”
上一篇
leecode刷题感悟--哈希表
下一篇
debezium专栏文章目录