链表的中间结点

作者 : admin 本文共329个字,预计阅读时间需要1分钟 发布时间: 2024-06-9 共3人阅读

一、题目链接

http://leetcode.cn/problems/middle-of-the-linked-list/submissions/538121725、

链表的中间结点插图

二、思路

定义快慢指针,快指针一次走两步,慢指针一次走一步,最后慢指针的位置就是中间结点的位置

三、题解代码

//快慢指针,快指针一次走两步,慢指针一次走一步
struct ListNode* middleNode(struct ListNode* head) {
    struct ListNode*p1=head,*p2=head;
    while(p2!=NULL&&p2->next!=NULL)
    {
        p1=p1->next;
        p2=p2->next->next;
    }
    return p1;  //最后慢指针的位置就是中间结点的位置 
}

本站无任何商业行为
个人在线分享 » 链表的中间结点
E-->