Максимальная глубина Бинарного Дерева
Ограничение по времени выполнения 1 секунда
Ограничение по использованию памяти 128 мегабайт
Задан массив целых чисел. Создайте из них Бинарное Дерево Поиска. Если вставляемое значение равно текущей вершине, то его следует вставлять в правое поддерево.
Реализуйте метод MaxDepth, который находит максимальную глубину дерева. Максимальной глубиной называется количество вершин в самом длинном пути от корня до самого дальнего листа.
Напишите код согласно следующего интерфейса:
// C, C++ class TreeNode { public: int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; class Tree { public: TreeNode *head; Tree() : head(NULL) {}; void Insert(int val); // Вставка числа val в Бинарное Дерево Поиска int MaxDepth(void); // Вернуть максимальную глубину Бинарного Дерева Поиска };
Вы можете создавать (использовать) по необходимости дополнительные методы.
Входные данные
Первая строка содержит число . Вторая строка содержит целых чисел.
Выходные данные
Создайте Бинарное Дерево Поиска из входных данных. Найдите и выведите его максимальную глубину.
Примеры
Ввод #1
Ответ #1
Отправки 554
Коэффициент принятия 44 %