Мінімальна глибина Бінарного Дерева
Обмеження на час виконання 1 секунда
Обмеження на використання пам'яті 64 мегабайти
Задано масив цілих чисел. Створіть з них Бінарне Дерево Пошуку. Якщо число, яке вставляється, дорівнює поточній вершині, його варто вставляти в праве піддерево.
Реализуйте метод MinDepth
, який знаходить мінімальну глибину дерева. Мінімальною глибиною називається кількість вершин в найкоротшому шляху від кореня до найближчого листка.
Напишіть код згідно наступного інтерфейсу:
\\ 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 MinDepth(void); // Повернути мінімальну глибину Бінарного Дерева Пошуку };
Ви можете створювати (використовувати) за необхідність додаткові методи.
Вхідні дані
Перший рядок містить число . Другий рядок мість цілих чисел.
Вихідні дані
Створіть Бінарне Дерево Пошуку з вхідних даних. Знайдіть і виведіть його мінімальну глибину.
Приклади
Вхідні дані #1
Відповідь #1
Відправки 400
Коефіцієнт прийняття 42%