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

/**
 * 
 * @param head ListNode类 
 * @return bool布尔型
 */
bool hasCycle(struct ListNode* head ) {
    // write code here
    if(head == NULL) return false;
    struct ListNode* s = head;
    struct ListNode* f = head;
    while(f->next != NULL && f->next->next != NULL) {
        f = f->next->next;
        s = s->next;
        if(f == s) {
            return true;
        }
    }
    return false;
}