【题目描述】
Given a linked list, determine if it has a cycle in it.
给定一个链表,判断它是否有环。
【题目链接】
【题目解析】
可以使用两个指针,一快一慢,如果有环,则这两个指针一定会相遇。这个方法不需要额外的空间,同时复杂度是O(N)的。符合这道题目的要求。具体来说,就是设立两个指针,一个fast,一个slow。fast在每一个step中移动两步,slow每次移动一步。如果两者相遇,必然是存在环,同时fast将slow套圈了才会出现这种情况。
【参考答案】
Given a linked list, determine if it has a cycle in it.
给定一个链表,判断它是否有环。
【题目链接】
www.lintcode.com/en/problem/linked-list-cycle/
【题目解析】
可以使用两个指针,一快一慢,如果有环,则这两个指针一定会相遇。这个方法不需要额外的空间,同时复杂度是O(N)的。符合这道题目的要求。具体来说,就是设立两个指针,一个fast,一个slow。fast在每一个step中移动两步,slow每次移动一步。如果两者相遇,必然是存在环,同时fast将slow套圈了才会出现这种情况。
【参考答案】
www.jiuzhang.com/solutions/linked-list-cycle/
转载于:https://blog.51cto.com/13457813/1980496