本文共 714 字,大约阅读时间需要 2 分钟。
问题:
Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
快慢指针。
代码:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool hasCycle(ListNode *head) { if(head == NULL) return false; ListNode* slow = head; ListNode* fast = head->next; while(fast) { if(slow == fast) return true; slow = slow->next; fast = fast->next; if(fast == NULL) break; fast = fast->next; } return false; }};
转载地址:http://hktsi.baihongyu.com/