题解 | #判断链表中是否有环#
判断链表中是否有环
http://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9
双指针法
设置两个指针,一个每次前进两布,一个每次前进一步,若链表有环,则两个指针最后一定会相遇。若快指针走到尽头,两指针仍未相遇,则链表无环。
C++代码:
class Solution {
public:
bool hasCycle(ListNode *head) {
ListNode *l = head, *r = head;
while (r && r->next) {
l = l->next;
r = r->next->next;
if (l == r) {return true;}
}
return false;
}
};