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

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