Tree 具有返回值的遍历方法

Tree 具有返回值的遍历方法,tree,inorder,Tree,Inorder,对于树,在遍历方法中,我希望返回值。我尝试的方法只返回一个值 int inorder(BSTNode r) { int result = 0 ; if (r != null) { inorder(r.getLeft()); result= r.getData(); inorder(r.getRight()); } return result; } 这段代码工作得很好,但我希望该方法返回值 private void in

对于树,在遍历方法中,我希望返回值。我尝试的方法只返回一个值

 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());
    }
}

您希望使用某种列表结构来累积数据:

void inorder(BSTNode r, List list) {
  if (r != null) {
    inorder(r.getLeft(), list);
    list.add(r.getData());
    inorder(r.getRight(), list);
  }
}
使用

List list = new List();
inorder(bst, list);
inorder完成后,
列表将包含树的值


确切的语法将取决于您所使用的语言。

您所说的“值”是什么意思?您目前在我的树中使用的节点“数据”。确切地说,树的根,因为您既不使用左边子级的数据,也不使用右边子级的数据。你的预期产出是多少?
r.getData()
返回什么?树的所有节点按该顺序:1。转到左子树,并在该节点上执行顺序遍历。2.打印出当前节点的值。3.转到右子节点,然后在该右子节点的子树上执行索引遍历。java,当调用该方法时,我应该发送给list的是正确的索引(root,null)吗?对于java,您应该创建一个list
list list list=new arrarylist()
,然后调用
索引(bst,list)
,其中T是存储在树中的数据类型