【发布时间】:2015-07-24 00:23:47
【问题描述】:
我想创建一个函数 get_element(n),它根据元素在列表中的位置返回单链表的元素。如果我将 -1 发送给函数,我希望返回最后一个元素,如果它是 -2,则函数将第二个元素返回到最后一个元素,依此类推。如何在不颠倒列表或引入其他属性(大小或类似属性)的情况下做到这一点?如果我想要倒数第二个,我可以遍历列表直到 current.next.next == None,倒数第三个使用 current.next.next.next == None,但我不知道如何概括它。 如果有人能用任何语言给我写这段代码,我将不胜感激,最好是用 Python。
【问题讨论】:
-
保留最后访问的
-n元素的队列,并在到达None时获取其第一个元素。几乎相当于颠倒列表,但这确实是唯一的方法。