注意条件语句中指针的位置,
class Solution {
public:
bool hasCycle(ListNode *head) {
if(!head) return false;
else if(!head->next) return false;
ListNode dummy(0);
dummy.next = head;
ListNode* slow = dummy.next;
ListNode* fast = slow->next;
while(fast && fast->next){ // 之前写while(fast->next && fast) 就报错了, 因为fast可能为nullptr,
// 这个错误不是特别容易找到
if(slow == fast) return true;
slow = slow->next;
fast = fast->next->next;
}
return false;
}
};