【发布时间】:2014-10-25 20:14:50
【问题描述】:
有没有办法在 Python 中检测循环列表的第一个元素?在 Java 和 C++ 中,您可以只建立一个指向第一个元素的指针。
我遇到的问题:给定一个循环链表,实现一个算法,返回循环开始时的节点。
【问题讨论】:
-
也许我遗漏了一些东西,但循环不是意味着“第一”的概念是完全对称的,因此有点毫无意义吗?当然,我猜你可以实现一个数据元素来确定哪个节点是“头”
-
习惯的情况应该是:给定一个单链表的一个节点的引用,找到一个圆,如果有的话,从给定的引用中最先到达的节点(可能指一个节点圈外)。
-
低级数据结构 链表 与高级 Python
list数据结构不(直接)相关。 CPython 可能在内部使用链表,但这与 Python 语言中的list完全不同(更像是动态数组)。那么“循环列表”到底是什么意思?能举个例子吗? -
@inspectorG4dget:如果您遍历列表,它是您将遇到两次的第一个元素。它定义明确。
-
@KarolyHorvath:但这对你从圈子的哪个位置开始非常敏感。因此,结果不稳定且不可重现
标签: python algorithm linked-list circular-list