java - 二叉搜索树中左子节点的和

标签 java binary-search-tree

我有以下代码,它将二叉搜索树中的每个节点替换为其子节点的总和。

public static void sumofChild(Node root) {
    if (root == null) return;
    sumofChild(root.getLeft());
    sumofChild(root.getRight());
    if (root.getLeft() != null) {
        int sum = root.getData() + root.getLeft().getData();
        root.setData(sum);
    }
    if (root.getRight() != null) {
        int sum = root.getData() + root.getRight().getData();
        root.setData(sum);
    }
}

现在我希望修改此代码以仅使用其左子节点的总和来更新每个节点。

所以本质上如果这是我的输入树,

   12 
  9 14
7 10 13 17

输出树需要是,

    28
  16 27
7 10 13 17

我似乎无法正确理解。任何帮助表示赞赏。

最佳答案

public static void sumofChild(Node root) {
    if (root == null) return;
    sumofChild(root.getLeft());
    sumofChild(root.getRight());
    if (root.getLeft() != null) {
        int sum = root.getData() + root.getLeft().getData();
        root.setData(sum);
    }
}

关于java - 二叉搜索树中左子节点的和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38439667/

相关文章:

java - 从特定文件夹中的java执行shell命令

java - 类型Class的层级不一致

c++ - 二叉搜索树,非递归使用堆栈

data-structures - 给定多个节点,在AVL树中查找最小和最大高度?

c++ - 删除有两个 child 的目标

JAVA新手警报: Trying to run Java class and getting ClassNotFoundException

java - Simpledateformat 不解析毫秒

Java:查找字符串长度时包含空格

algorithm - 创建最优二叉搜索树,与创建哈夫曼树相同吗?

c++ - 删除二叉搜索树中的节点