Tree Збалансоване дерево#10112

Tree Збалансоване дерево

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

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

Визначення дерева:

// 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, оскільки дерево є збалансованим.