环的入口结点

    技术2022-07-11  69

    环的入口结点

    题目描述:

    解题思路:

    代码如下所示:
    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode *detectCycle(ListNode *head) { ListNode *fast=head; ListNode *slow=head; ListNode *PH=head; ListNode *PM=nullptr; while(fast&&fast->next) { fast=fast->next->next; slow=slow->next; if(slow==fast) { PM=fast; break; } } if(PM==nullptr) return nullptr; PM=slow; while(PM!=PH) { PM=PM->next; PH=PH->next; } return PM; } };
    测试用例
    功能测试:链表中有环,链表中有多个或者多个结点特殊输入测试:链表头结点为nullptr
    Processed: 0.016, SQL: 9