java - 如何使用 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
}
解决方案
您已经有了解决方案,只需将writer
递归调用传递给方法即可。
该参数writer
只是对堆上对象的引用,因此您可以毫无问题地将其传递到调用堆栈。
public void printInPreorder(PrintWriter writer) {
...
printInPreorder(writer);
...
}
推荐阅读
- json - 在一列中获取所有 jsonb 值,以便在 to_tsvector 中使用
- android - 预期为 BEGIN_OBJECT,但在第 1 行第 74 列路径 $.data 使用改造时为 BEGIN_ARRAY
- karate - 在 json 路径表达式中使用变量
- node.js - 节点:236984)[INSPECTOR_ASYNC_STACK_TRACES_NOT_AVAILABLE] 使用 vs 代码调试 node.js 应用程序时
- java - 用超过 50k 行代码重构类?
- java - 从 CSV 读取以填充包含复选框和字符串的表格视图
- algorithm - 通过后缀数组的最长公共子串:哨兵的使用
- reactjs - 如何正确运行电子反应应用程序?
- r - R - xlsx 包 - 为行集添加底部边框
- raspberry-pi3 - “树莓派 3 hdmi 没有声音输出”