我在相关部分看到了这个问题,经过一些讨论后,我发现最常见的解决方案是野兔和乌龟算法。但是我看到的另一个建议的解决方案(这就是我要做的)是包含一个Node类的第三个实例变量,它将跟踪它访问过的节点,比如一个布尔变量。这被认为是有效的解决方案吗?
答案 0 :(得分:0)
你的解决方案绝对是一个有效的解决方案,因为它可以完成任务。
然而,检测循环的问题通常是使用O(1)
额外内存的附加约束来制定的。野兔和乌龟算法满足此约束,而您的算法不满足:它需要O(N)
额外的内存来存储每个节点的布尔值。