#include <stdbool.h>
/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 * };
 */

/**
 * 
 * @param head ListNode类 
 * @return bool布尔型
 */
bool hasCycle(struct ListNode* head ) {
    // write code here
    struct  ListNode *slow, *fast;
    slow = head;
    fast = head;
    while(slow && fast)
    {
        if(fast->next)
            fast = fast->next->next;
        else
            return false;
        slow = slow->next;
        if(slow == fast)
            return true;
    }
    return false;

}