【发布时间】:2012-10-22 14:56:47
【问题描述】:
我已经实现了以下代码以按级别顺序打印二叉搜索树。
public void printLevelOrder(int depth) {
for (int i = 1; i <= depth; i++) {
printLevel(root, i);
}
}
public void printLevel(BinaryNode<AnyType> t, int level) {
if (t == null) {
return;
}
if (level == 1) {
System.out.print(t.element);
} else if (level > 1) {
printLevel(t.left, level - 1);
printLevel(t.right, level - 1);
}
}
我正在尝试弄清楚如何改进我的代码以使其以某种格式打印出来。
举个例子,给定一棵树
1
/ \
2 3
/ / \
4 5 6
目前打印如下:
123456
我正在寻找它打印如下:
Level 0: 1
Level 1: 2 3
Level 2: 4 5 6
【问题讨论】:
-
让函数
printLevel将节点号作为字符串返回,而不是立即打印出来。然后,您可以以任何您想要的格式连接这些字符串。