eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Tree Минимальная глубина

Tree Минимальная глубина

Дано бинарное дерево. Найдите его минимальную глубину. Минимальной глубиной называется количество вершин в кратчайшем пути от корня до ближайшего листа.

Определение дерева:

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

Реализуйте функцию minDepth которая возвращает минимальную глубину дерева.

// Java
int minDepth(TreeNode tree)
// C++
int minDepth(TreeNode *tree)

Пример

prb10109.gif

Функция minDepth возвращает 2, так как кратчайший путь от корня 5 до ближайшего листа 10 содержит 2 вершины.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Автор Михаил Медведев