#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)||(head->next==NULL)){
        return false;
    }
    struct ListNode *fast=head;
    struct ListNode *slow=head;
    while(1){
        fast=fast->next;
        fast=fast->next;
        slow=slow->next;
        if(fast==slow){
            return true;
        }
        if((fast==NULL)||(fast->next==NULL)){
            return false;
        }
    }
}

快慢指针判断