Мінімум та Максимум в дереві#4034

Мінімум та Максимум в дереві

1 секунда
122,174 мегабайта
Легка

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

Реалізуйте методи Min та Max, які знаходять мінімальний та максимальний елемент в дереві, відповідно.

prb7463.gif

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

// C++
class TreeNode
{
public:
    int val;
    TreeNode *left, *right;
    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

class Tree 
{
public:
    TreeNode *head;
    Tree() : head(NULL) {};
    void Insert(int val); // Вставка числа val в Бінарне Дерево Пошуку
    int Min(void); // Повернути мінімум в дереві
    int Max(void); // Повернути максимум в дереві
};

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

Вхідні дані

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

Вихідні дані

Створіть Бінарне Дерево Пошуку з вхідних даних. Виведіть в одному рядку Мінімальний та Максимальний елемент в дереві.

Приклади

Приклад 1

Loading
Loading