不花费额外的空间
方法很简单,遍历一遍即可,在遍历过的节点,都改变它的一个状态。如果形成环,会再次指向遍历过的节点,这个时候判断它的状态是否改变。
这个方法是可以被测试数据攻击掉的,不是完美解决方案。
```
class Solution {
public:
    bool hasCycle(ListNode *head) {
        ListNode* start = new ListNode(-1);
        ListNode* iter = head;
      
        while(iter!=NULL)
        {
             if(iter->next==start) return true;
             ListNode* temp = iter;
             iter = iter->next;
             (*temp).next = start;
        }
        return false;
    }
};
```
LeetCode 141 Linked List Cycle
原文:https://www.cnblogs.com/dacc123/p/9988439.html