【发布时间】:2009-09-18 00:17:07
【问题描述】:
这就是问题所在,它来自 Sedgwick 的优秀 Algorithms in Java (q 3.54)
给定一个指向单链表中不包含空链接的节点的链接(即每个节点要么链接到自身,要么链接到列表中的另一个节点)确定不同节点的数量,而无需修改任何节点且不再使用而不是恒定的内存空间。
你是怎么做到的?使用兔子和乌龟算法扫描一次列表以确定它是否以任何方式循环,然后再次扫描以找出列表变为圆形的位置,然后再次扫描计算到该位置的节点数?对我来说听起来有点暴力,我想还有更优雅的解决方案。
【问题讨论】:
标签: algorithm linked-list