#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
}