543. Diameter of Binary Tree
Содержание
Решение задачи 543 “Diameter of Binary Tree” с LeetCode.
Условие задачи
Дано бинарное дерево, Ваша задача посчитать диаметр дерева. Диаметр бинарного дереве – это длина длиннейшего пути между двумя узлами дерева. Этот путь может как и проходить через корень, так и не проходить. Диаметр – это кол-во рёбер.
пример:
|
|
Вернуть 3,что является длиной пути через узлы [4,2,1,3] или [5,2,1,3].
Решение
Поиск в глубину
Идем рекурсивно. В текущем узле проверяем наличии детей. если дети есть – запускаем функцию рекусивно для детей. Если детей нет – возвращаем единицу. когда обошли детей ( в текущем узле ) – сравниваем максимальный путь и сумму глубин детей ( заменяем если надо значение максимального пути ). Возвращаем значение максимального пути плюс 1.
|
|