C solution


  • 0
    B

    struct ListNode *detectCycle(struct ListNode *head) {
    if (head == NULL) {
    return NULL;
    }
    bool isCycle = false;
    struct ListNode *fast=head;
    struct ListNode *slow=head;
    while(fast!=NULL&&fast->next!=NULL)
    {
    fast=fast->next->next;
    slow=slow->next;
    if(fast==slow){
    while(head!=slow)
    {
    head=head->next;
    slow=slow->next;
    }
    return head;
    }
    }
    return NULL;
    }


Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.