Мінімальна глибина Бінарного Дерева#7464

Мінімальна глибина Бінарного Дерева

1 секунда
64 мегабайти
Легка

Дано масив цілих чисел. Побудуйте з цих чисел Бінарне Дерево Пошуку. Якщо вставлене значення дорівнює поточній вершині, вставляйте його у праве піддерево.

Реалізуйте метод MinDepth, який знаходить мінімальну глибину дерева. Мінімальна глибина — це кількість вершин в найкоротшому шляху від кореня до найближчого листка.

prb7464.gif

Напишіть код за наступним інтерфейсом:

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); // Повернути мінімальну глибину Бінарного Дерева Пошуку
};

Ви можете створювати та використовувати додаткові методи за потреби.

prb7464.gif

Вхідні дані

Перший рядок містить число (1 \le n \le 100).Другий рядок містить цілих чисел.

Вихідні дані

Побудуйте Бінарне Дерево Пошуку з вхідних даних, знайдіть і виведіть його мінімальну глибину.

Приклади

Приклад 1

Loading
Loading