LeetCode——oj 链表的中间结点

 
思路:快慢指针
我们创建一个快指针和慢指针
慢指针一次走一步
快指针一次走两步
两个同时从头开始走,当快指针走完n个时,慢指针走了n/2步
所以此时的慢指针就是链表的中间结点
struct ListNode* middleNode(struct ListNode* head){
struct ListNode* fast=head,*slow=head;//快慢指针起初都是头结点
while(fast->next !=NULL && fast!=NULL)
{
slow=slow->next;
fast=fast->next;
if(fast->next !=NULL)
{
fast=fast->next;
}
}
return slow;
}
如果链表有偶数个结点呢?
我们这里的
就是为

LeetCode——oj 链表的中间结点最先出现在Python成神之路

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/26179.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>