【发布时间】:2013-04-21 22:10:58
【问题描述】:
我知道你可以简单地迭代地解决这个问题,方法是每次在链表中传递一个节点时使用一个计数器递增;还创建一个数组列表并设置其中每个节点找到的数据。一旦你碰到了链表的尾部,只需从数组列表中的元素总数中减去第 N 项,你就可以返回答案。但是,有人将如何使用递归来执行此操作?是否可能,如果可以,请显示代码以显示您的天才:)。
注意:我知道您不能在 Java 中返回两个值(但在 C/C++ 中,您可以使用指针:])
编辑:这是我在网上找到的一个简单问题,但我添加了递归部分以使其成为我自己的挑战,我发现使用 Java 可能是不可能的。
【问题讨论】:
-
你付出了多少努力?
-
好吧,正如您已经知道的,在递归中,您需要返回尾指针,这样就要求您的整个函数具有 ListNode 的返回类型,但是有人将如何返回节点本身的数据?顺便说一句,这是一本面试书中的问题。
标签: java recursion linked-list