首页 > 解决方案 > 如何使用 PrintWriter 对象作为函数参数并将该函数用于递归树遍历

问题描述

我有一个二叉树遍历方法,它在Java中以下列方式声明:

public void printInPreorder(PrintWriter writer)

我需要在这个函数上使用递归来实现树遍历来进行前序遍历。但是,我不确定如何将"writer"已作为参数传递的对象传递给函数。(此 writer 对象已在另一个已设置文件名的类中初始化,此外,我无法更改此函数的参数,需要以相同的格式使用它)。如果有帮助,树将存储在一维数组中。

有人可以帮我吗?

public void printInPreorder(PrintWriter writer) {

   //find root node and print it
   //set visited as false for all other nodes
   //traverse the tree recursively to print the preorder traversal

}

标签: javarecursionbinary-search-treeprintwriter

解决方案


您已经有了解决方案,只需将writer递归调用传递给方法即可。

该参数writer只是对堆上对象的引用,因此您可以毫无问题地将其传递到调用堆栈。

public void printInPreorder(PrintWriter writer) {
    ...    
    printInPreorder(writer);    
    ...    
}

推荐阅读