Дано бінарне дерево. Потрібно визначити, чи є воно збалансованим. Бінарне дерево вважається збалансованим, якщо різниця глибин двох піддерев будь-якого вузла не перевищує .
Визначення дерева:
// 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)
Функція isBalanced повертає true, оскільки дерево є збалансованим.