Как рассчитать высоту поддеревьев? - PullRequest
0 голосов
/ 06 июля 2019

Итак, я ищу способ вычислить высоту поддеревьев данного двоичного дерева.Я знаю, что есть основной рекурсивный алгоритм для вычисления общей высоты дерева.То, что я искал точно, - это способ вычисления высот левого и правого поддерева из заданного узла и возврата их обоих в виде чисел.Я попытался настроить алгоритм для общей высоты, но он не будет работать.Было бы даже полезно просто иметь возможность рассчитать высоту только одного поддерева влево или вправо, не имеет значения.

int computeHeight(Node root) {
    if (root == null) {
        return 0;
    }
    int lDepth = computeHeight(root.left);
    int rDepth = computeHeight(root.right);
    return Integer.max(lDepth, rDepth) + 1 ;
}
...