/**
 * 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) {
        int  n = 0;
        if(head == NULL)
        {
            return false;
        }
            while(head->next!=NULL)
            {
                n++;
                head = head->next;
                if(n>=10001)
                {
                    break;
                }
                
            }
        if(n<10001)
        {
            return false;
        }
        else
        {
            return true;
        }
            

        
    }
};