首页 > 代码库 > Linked List Cycle
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?
思路:使用两个指针slow和fast,分别以1和2的速度遍历链表。若链表中存在环,则两个指针必然会在某时刻相遇。
1 class Solution { 2 public: 3 bool hasCycle(ListNode *head) { 4 if( !head || !head->next ) { return false; } 5 ListNode *slow = head, *fast = head; 6 while( fast ) { 7 slow = slow->next; 8 fast = fast->next; 9 if( fast ) { fast = fast->next; }10 if( fast && fast == slow ) { return true; }11 }12 return false;13 }14 };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。