0
在一次采访中,我被要求检测链表中的循环节点并计算循环中的节点数。由于我没有意识到flyod算法,我试图找出我自己的方法。在没有Floyds循环检测算法的情况下检测链表中的循环
这个想法是在这种情况下,两个节点的地址将指向同一个节点(循环节点)。
EG。
1 - > 2 - > 4 - > 5 - > 7 - > 3 - > 4
这里2->下和3->下是一样的,这是地址4.这意味着链表中有一个循环,4是循环节点。并且从4到4的遍历将给出循环中的节点的数量。
有没有办法让我们继续这个方法?
谢谢基因。面试官没有听我说这个。我认为他有想法的flyod算法。但是当你不知道现有的解决方案时,你试图弄明白。无论如何感谢您的确认。 –
这是一个不好的面试问题,所以也许没有在那家公司工作是件好事。在面试期间,不太可能有人会当场发明Floyd算法。所以他/她真正问的是你是否碰巧在你的学习中学习Floyd算法。 (需要在真正的软件中找到周期是非常罕见的)。这并没有太多说明你将如何在工作中执行。 – Gene