LeetCode题解之Linked List Cycle

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     }

 

posted @ 2018-07-13 11:36  山里的小勇子  阅读(105)  评论(0编辑  收藏  举报