数据结构如何使二进制搜索树的遍历方法返回Java中的字符串?
我创建了两个void方法,它们打印出二叉搜索树的inorder
遍历和镜像宽度优先遍历。但是,我只让他们打印出结果,现在我想使用缓冲写入程序将结果写入文本文件。最好的方法是什么
public void inorder(BSTNode<T> p) {
if (p != null) {
inorder(p.left);
System.out.print(p.el + " ");
inorder(p.right);
}
}
public void mirrorBreadthFirst() {
BSTNode<T> p = root;
Queue<BSTNode<T>> queue = new Queue<BSTNode<T>>();
if (p != null) {
queue.enqueue(p);
while (!queue.isEmpty()) {
p = queue.dequeue();
System.out.print(p.el + " ");
//opposite of breadth first (reading from right to left):
if (p.right != null)
queue.enqueue(p.right);
if (p.left != null)
queue.enqueue(p.left);
}
}
这是我的两种方法(注意:p.el是节点p的元素)
我尝试将(p.el)的值存储在ArrayList中,然后使用toString
返回它,但在我的main
方法中尝试使用System.out.println(mirrorBreadthFirst());
时,它不起作用
共 (0) 个答案