【发布时间】:2015-07-31 18:31:42
【问题描述】:
问题:如果链表中存在循环,则查找循环的起始节点
方法:
(1)使用Hare-Tortoise算法,判断是否存在循环(此步骤没有问题)
(2)设P为兔子和乌龟相遇的节点。设H为链表上的头指针。从H和P一次遍历一个节点,直到它们相遇。
疑问:(2) 背后的逻辑。从 H 和 P 一次遍历一个步骤如何确保它们在循环开始时相遇?
参考资料:
Partially Explained Logic(Refer second approach in this blog)
【问题讨论】:
标签: algorithm pointers linked-list