【发布时间】:2015-05-08 17:33:06
【问题描述】:
对于树,在遍历方法中,我希望返回值。我尝试的方法只返回一个值。
int inorder(BSTNode r) {
int result = 0 ;
if (r != null) {
inorder(r.getLeft());
result= r.getData();
inorder(r.getRight());
}
return result;
}
此代码完美运行,但我希望该方法返回值而不是
private void inorder(BSTNode r) {
if (r != null) {
inorder(r.getLeft());
System.out.print(r.getData() + " ");
inorder(r.getRight());
}
}
【问题讨论】:
-
“价值观”是什么意思?
-
我的树中的节点“数据”
-
你目前有。确切地说,树的根,因为您既没有使用左孩子的数据,也没有使用右孩子的数据。您的预期输出究竟是什么?
r.getData()返回什么? -
按顺序排列树的所有节点: 1. 转到左子树,并对该节点执行中序遍历。 2.打印出当前节点的值。 3. 转到右子节点,然后对该右子节点的子树进行中序遍历。