标签:
Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
class Solution { public: bool hasCycle(ListNode *head) { if(!head){ return false; } ListNode* slowPoint = head; ListNode* fastPoint = head; while(slowPoint->next){ //slow point move one step slowPoint = slowPoint->next; //fast point move two step if(fastPoint->next){ fastPoint = fastPoint->next; }else{ return false; } if(fastPoint->next){ fastPoint = fastPoint->next; }else{ return false; } if(slowPoint->val == fastPoint->val){ return true; } } return false; } };
思路:用快慢指针来走,如果有环的话,一定会遇到一起。
http://www.waitingfy.com/archives/1591
标签:
原文地址:http://blog.csdn.net/fox64194167/article/details/44099379