Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
Subscribe to see which companies asked this question.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | /** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */classSolution {public:    boolhasCycle(ListNode *head) {        if(head == NULL || head->next == NULL) returnfalse;                ListNode* slow = head, * fast = head;        while(fast != NULL && fast->next != NULL){            slow = slow->next;            fast = fast->next->next;            if(slow == fast){                returntrue;            }        }        returnfalse;    }}; | 
原文:http://www.cnblogs.com/zhxshseu/p/4fbbbe4fd724cac6a64cda7a34a36511.html