Linked List Cycle

来源:互联网 发布:啤酒杯 知乎 编辑:程序博客网 时间:2024/05/01 08:54

Given a linked list, determine if it has a cycle in it.

Follow up:

Can you solve it without using extra space?

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    bool hasCycle(ListNode *head) {                ListNode *fastPoint = head;        ListNode *slowPoint = head;                if(fastPoint == NULL || fastPoint->next == NULL)            return false;                    while(fastPoint->next != NULL && fastPoint->next->next != NULL)        {            fastPoint = fastPoint->next->next;            slowPoint = slowPoint->next;            if(fastPoint == slowPoint)                return true;        }                return false;    }};


0 0
原创粉丝点击