标签:style blog color io for div sp log on
Given a linked list, return the node where the cycle begins. If there is no cycle, return null
.
Follow up:
Can you solve it without using extra space?
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NULL) {} 7 * }; 8 */ 9 class Solution { 10 public: 11 ListNode *detectCycle(ListNode *head) { 12 13 ListNode *fast = head; 14 ListNode *slow = head; 15 16 if(fast == NULL || fast == NULL) 17 return NULL; 18 19 while(fast->next != NULL && fast->next->next != NULL) 20 { 21 fast = fast->next->next; 22 slow = slow->next; 23 if(fast == slow) 24 { 25 slow = head; 26 while(fast != slow) 27 { 28 fast = fast->next; 29 slow = slow->next; 30 } 31 return fast; 32 } 33 } 34 return NULL; 35 } 36 };
标签:style blog color io for div sp log on
原文地址:http://www.cnblogs.com/YQCblog/p/3970204.html