Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在二叉树中添加节点值_Java_Node.js_Recursion_Sum_Binary Tree - Fatal编程技术网

Java 在二叉树中添加节点值

Java 在二叉树中添加节点值,java,node.js,recursion,sum,binary-tree,Java,Node.js,Recursion,Sum,Binary Tree,如何打印二叉树中节点下的值之和?以下是我目前掌握的情况: public int sumT(Node nodo, int sum) { if (nodo == null) { return 0; } else { int sum = suma + nodo.getLeft().getValor(); int sum1 = sumT(nodo.getLeft(), sum); int sum2 = sumT(nodo.g

如何打印二叉树中节点下的值之和?以下是我目前掌握的情况:

public int sumT(Node nodo, int sum) {
    if (nodo == null) {
        return 0;
    } else {
        int sum = suma + nodo.getLeft().getValor();
        int sum1 = sumT(nodo.getLeft(), sum);
        int sum2 = sumT(nodo.getRight(), sum1);
        return sum2;

    }

}

这应该是正确的。因此,您不必将sum设置为sumT中的一个参数。

当sum已经是sumT的一个参数时,您可以声明
int sum
suma
在我看来并不存在。在我看来,当您击中一个叶节点(或没有左分支的任何节点)时,您将在
nodo.getLeft().getValor()处得到一个异常
在下一行的递归调用测试空节点之前。
public int sumT(Node nodo)  {
  if  (nodo == null)
    return 0;
  return sumT(nodo.getLeft()) + sum(nodo.getRight()) + nodo.getValor();
}