Məsələlər
Tree Balanslaşdırılmış ağac
Tree Balanslaşdırılmış ağac
İkilik ağac verilmişdir. Onun balanslaşdırılmış olduğunu yoxlayın. İkilik ağac o zaman balanslaşdırılmış adlanır ki, onun altağaclarının (sol və sağ) dərinliyi 1-dən çox fərqlənmir.
Ağaçın təyini:
// 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) {}
};
Ağac balanslaşdırılmış olarsa true, əks halda false qaytaran isBalanced funksiyasını reallaşdırın.
// Java
boolean isBalanced(TreeNode tree)
// C++
bool isBalanced(TreeNode *tree)
Nümunə
isBalanced funksiyası true qaytarır, belə ki, ağac balanslaşdırılmışdır.