题解 | #判断链表中是否有环#
判断链表中是否有环
http://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9
class Solution {
public:
bool hasCycle(ListNode *head) {
//链表不为空
if(head == nullptr || head->next == nullptr )
{
return false;
}
ListNode* fast = head;
ListNode* slow = head;
while(fast)
{ //快慢指针各走一步
fast = fast->next;
slow = slow->next;
//只有一个值时
if(!fast)
{
return false;
}
//快指针再走一步
fast = fast->next;
//相等即有环
if(fast == slow)
{
return true;
}
}
//循环结束没有环
return false;
}
};