[思路]:
两个指针,一个每次移一位,一个每次移两位,如果存在两个指针地址相同的情况,则表示存在环
[代码实现]:
bool hasCycle(ListNode *head) {
if(NULL == head) return false;
ListNode* node1 = head;
ListNode* node2 = head;
while(NULL != node2){
ListNode* tmp_node = node2->next;
if(NULL == tmp_node) return false;
node2 = tmp_node->next;
if(node2 == node1) return true;
node1 = node1->next;
}
return false;
}