leetcode:Linked List Cycle II

来源:互联网 发布:听力复读软件 编辑:程序博客网 时间:2024/06/09 22:53
/** * 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) {        if(head == NULL)            return NULL;                ListNode *p = head,*q = head;        while(p != NULL)        {            q = q->next;            if(q == NULL)                return NULL;            q = q->next;            if(q == NULL)                return NULL;            p = p->next;            if(q == p)                break;        }        p = head;        while(p != NULL)        {            if(q == p)                return p;            q = q->next;            p = p->next;                    }        return NULL;    }};

0 0
原创粉丝点击