java - 递归复制链表 (Java)

标签 java recursion

漫长的一夜结束后,我在递归复制链接列表时遇到了麻烦,我可以使用简单的迭代方法来做到这一点,但是当我尝试设置它时,我遇到了堆栈溢出错误用递归。然而,这在概念上对我来说是有意义的。有人能引导我走向正确的方向吗?这是我到目前为止所拥有的:

public LinkedList<E> createCopyRecursive(Node<E> aNode) {
    LinkedList<E> copyList = new LinkedList<E>();
    copyList.myStart = myStart;

    if (copyList.size() == 0) {
        aNode = myStart.getLink();
    }

    if (aNode.getLink() == null) {
        return copyList;
    }
    else {
        copyList.add(aNode.getValue());
        return createCopyRecursive(aNode.getLink());
    }
}

最佳答案

每次递归到该方法时,都会创建一个新的 LinkedList。

我怀疑您想在方法外部实例化它,将其传入并每次添加到它。

关于java - 递归复制链表 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30368211/

相关文章:

Java双重错误

java - 我正在尝试使用我的注册页面中的共享首选项并在另一个类上检索它,但它在 logcat 中给了我错误

java - 使用java保留二叉搜索树中根的值

java - 归并排序java实现错误

java - 为什么我可以为我的操作输入任何内容?

java - 什么是更便宜的哈希算法?

java - 尝试使用命令提示符执行 TestNG 测试时出现配置失败

python - python中如何提高判断一棵树是否为AVL树的效率?

C程序: Recursive ordering function printing incorrectly

javascript - 在 JavaScript 中递归地转换对象