1、题目描述
2、问题分析
使用快慢指针方法,一个快指针,一个慢指针,如果到某个时候,快指针追上了慢指针,则说明有环存在。
3、代码
1 bool hasCycle(ListNode *head) { 2 if( head == NULL || head->next == NULL ) 3 return false; 4 ListNode* f = head->next; 5 ListNode* s = head; 6 while( f != NULL && s != NULL ){ 7 8 if( s == f ) 9 return true; 10 if( f->next != NULL ) 11 f = f->next->next; 12 else 13 return false; 14 s = s->next; 15 } 16 return false; 17 18 }