力扣 876. 链表的中间结点

目录

  • 1.解题思路
  • 2.代码实现

1.解题思路

利用快慢指针,快指针一次走两步,慢指针一次走一步,当快指针指向空时,慢指针指向的就为中间结点.

2.代码实现

struct ListNode* middleNode(struct ListNode* head)
 {  
     if(head==NULL)
     return NULL;
     else if(head->next==NULL)
     return head;
     else{
    struct ListNode* fast=head;
    struct ListNode* slow=head;
     while(fast)
     {  if(fast->next==NULL)
         break;
        fast=fast->next->next;
        slow=slow->next;
     }
return slow;
     }

}

结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!

你可能感兴趣的:(刷题(C语言版),leetcode,链表,算法)