Python 对于给定的输入树,如何递归计算二叉树的和?

Python 对于给定的输入树,如何递归计算二叉树的和?,python,python-3.x,binary-search-tree,nodes,Python,Python 3.x,Binary Search Tree,Nodes,你好!我需要帮助找到一种递归计算二叉树和的方法。我已经把我一直在做的工作放在了一起,但我仍然很困惑。如果您有任何帮助,我们将不胜感激。 定义一个名为sum的递归函数,该函数将二叉树作为 参数,并返回int–树中所有节点值的总和。对于 例如,底部的树,函数返回35 1.我们这里有: 给定树的根。 求整棵树的和。 使用递归 2.回想什么是递归的 递归函数是在执行过程中调用自身的函数。这使函数能够重复多次,输出结果和每次迭代的结束 三,。 我们需要一个基,它将终止递归函数,否则它将无限循环。 一旦

你好!我需要帮助找到一种递归计算二叉树和的方法。我已经把我一直在做的工作放在了一起,但我仍然很困惑。如果您有任何帮助,我们将不胜感激。

定义一个名为sum的递归函数,该函数将二叉树作为 参数,并返回int–树中所有节点值的总和。对于 例如,底部的树,函数返回35

1.我们这里有:
  • 给定树的根。
  • 求整棵树的和。
  • 使用递归

    2.回想什么是递归的

    递归函数是在执行过程中调用自身的函数。这使函数能够重复多次,输出结果和每次迭代的结束
    
    三,。
  • 我们需要一个基,它将终止递归函数,否则它将无限循环。
  • 一旦我们有了基本情况,现在我们需要开始执行rest

    四,

    对于二叉树,它有根,(可选)左子树,(可选)右子树。 我们可以选择根作为基本情况,因为这是二叉树的起点

    private int sum(树节点根){
    //1.基本情况
    if(root==null){
    返回0;
    }
    //2.做大一点
    否则{
    返回root.val+sum(root.left)+sum(root.right);
    }
    }
    
    def sum(t: TN) -> int:
        if t == None:
            return 0
        else:
           return [sum(t.value)for v in t]