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

Tree Сбалансированное дерево

Tree Сбалансированное дерево

Дано бинарное дерево. Определить, является ли оно сбалансированным. Бинарное дерево является сбалансированным, если глубина его поддеревьев (левого и правого) отличается не более чем на 1.

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

// 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) {}
};

Реализуйте функцию isBalanced которая возвращает true если дерево является сбалансированным и false иначе.

// Java
boolean isBalanced(TreeNode tree)
// C++
bool isBalanced(TreeNode *tree)

Пример

prb10112.gif

Функция isBalanced возвращает true так как дерево является сбалансированным.

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