letecode [104] - Максимальная глубина бинарного дерева

Учитывая бинарное дерево, найти максимальную глубину.
Максимальная глубина число узлов вдоль самого длинного пути от корневого узла вплоть до самого дальнего листа узла.
Примечание: Лист представляет собой узел без детей.
Пример:
Учитывая бинарное дерево [3,9,20, NULL, NULL, 15,7],
    3 
   / \ 
  -20 
    / \ 
   15 7

вернуть его глубину = 3.

С учетом эффекта:

  Учитывая бинарное дерево, бинарное дерево глубины вычислений

Поймите:

  Корневой узел пуст, глубина 0; левое поддерево корневой узел пуст, глубина 1.

  Каждый слой глубиной рекурсии +1.

Код C ++:

 

/ * * 
 * Определение для бинарного узла дерева. 
 * Структура TreeNode { 
 * INT вал; 
 * * TreeNode слева; 
 * * TreeNode право; 
 * TreeNode (целое х): вал (х), слева (NULL), справа (NULL) {} 
 *}; 
 * / 
Класс Решение {
 общественности :
     INT maxDepth (TreeNode * корень) {
         если (корень == NULL) возврат  0 ;
        если (корне-> левый == NULL && корне-> правый == NULL) возвращение  1 ;
        ИНТ влево = maxDepth (корне-> слева);
        ИНТ право = maxDepth (корне->право);
        вернуться ? влево> правый левый + 1 : право + 1 ; 
    } 
};

 

Результат:

  При выполнении с:  12 MS   потребление памяти:  19,3 MB

 

рекомендация

отwww.cnblogs.com/lpomeloz/p/10988877.html