Leetcode每日一题——“链表的中间结点”

各位CSDN的uu们你们好呀,今天,小雅兰愉快的刷题内容是链表的中间结点。嘿嘿,小雅兰的单链表还在偷懒ing,一直没有更新,最近应该会更新出来。下面,就让我们进入链表的中间结点的世界吧。


 


方法一:快慢指针法

这种方法真的是一个绝绝子的方法呢!!!

定义两个结构体指针,一个为慢指针slow,一个为快指针fast

slow每次走一步,fast每次走两步

 

上述是奇数个结点的情况

下面,我们来看看偶数个结点的情况

 

 

 

 

 好啦,下面让我们来看看源代码:

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

 

哈哈哈,这就是非常愉快的一次刷题记录啦,方法真的很哇塞呢!!!


好啦,小雅兰今天的内容就到这里啦,还要继续加油刷题噢!!!

 

猜你喜欢

转载自blog.csdn.net/weixin_74957752/article/details/130349157