#include <stdbool.h>
/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 * };
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */

/**
 * 
 * @param head ListNode类 
 * @return bool布尔型
 */
bool hasCycle(struct ListNode* head ) {
    // write code here
    
    struct ListNode* node=head;
    //新建一个数组,数组内存的是链表节点的地址
    struct ListNode* add_list[10000];
    int add_count=0;
    while(node){
        add_list[add_count]=node;//将结点地址放入数组
        for(int j=0;j<add_count;j++){ //比较前面所有存储的地址和刚刚加入的地址是否相同
            if(add_list[add_count]==add_list[j]){//如果相同,返回1,说明有环
                return 1;
            }
        }
        add_count++;
        node=node->next;
    }
    return 0;//没有环则返回0
}