class Solution(object):
def detectCycle(self, head):
fast, slow = head, head
while True:
if not (fast and fast.next): return
fast, slow = fast.next.next, slow.next
if fast == slow: break
fast = head
while fast != slow:
fast, slow = fast.next, slow.next
return fast
快慢指针
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 双指针遍历/滑动窗口快慢指针遍历 1. 双指针遍历/滑动窗口 1.1 双指针遍历适用场景 是存在区间的,两个指针,...
- 普通方法: 首先遍历一遍单链表得到链表长度L,再次从头结点循环L/2找到结点。算法复杂度(精确的复杂度)O(L+L...