设置快慢指针来进行判断是否有环形存在吗,慢指针每次前进一步,快指针每次前几两步,如果链表内存在环,则快指针与慢指针肯定会相遇。
bool hasCycle(struct ListNode* head) {
struct ListNode* p = head;
struct ListNode* q = head;
while (q!=NULL&&q->next != NULL) {
p = p->next;
q = q->next->next;
if (p == q) return true;
}
return false;
}