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

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

1 секунда
128 мегабайтів
Легка

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

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

prb7463.gif

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

// 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);   // Повернути максимальну глибину двійкового дерева пошуку
};
// Java
class TreeNode
{
  int val;
  TreeNode left;
  TreeNode right;
  TreeNode(int x)
  {
    val = x;
    left = null;
    right = null;
  }
}

class Tree
{
  TreeNode head;
  Tree();
  void Insert(int val); // Вставка числа val у двійкове дерево пошуку
  int maxDepth();       // Повернути максимальну глибину двійкового дерева пошуку
}

Можна створювати (використовувати) додаткові методи за потреби.

Вхідні дані

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

Вихідні дані

Побудуйте двійкове дерево пошуку з вхідних даних. Знайдіть і виведіть його максимальну глибину.

Приклади

Приклад 1

Loading
Loading