首页 > 代码库 > LeetCode:Linked List Cycle

LeetCode:Linked List Cycle

Given a linked list, determine if it has a cycle in it.

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         bool hasCycle(ListNode *head) {12             if(head==NULL)13                 return false;14             ListNode *p=head,*q;15             int n=0,m;16             while(p!=NULL)17             {18                 q=head;19                 m=0;20                 while(m<=n)21                 {22                     if(q==p->next)23                         return true;24                     else25                     {26                         q=q->next;27                         m++;28                     }29                 }30                 p=p->next;31                 n++;32             }33             return false;34         }35 };

 

LeetCode:Linked List Cycle