Максимальна глибина Бінарного Дерева
Обмеження на час виконання 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%