Balanced Binary Tree

Description:

Given a binary tree, determine if it is height-balanced.

For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.

 

Code:

 1    int height( TreeNode * root )

 2     {

 3         if ( root == NULL )

 4             return 0;

 5         else

 6             return max( height( root->left ), height( root->right) ) + 1;

 7     }

 8     

 9     bool isBalanced(TreeNode* root) {

10        if ( root == NULL )

11         return true;

12         

13         if ( abs(height(root->left)-height(root->right)) > 1 )

14             return false;

15         else

16             return isBalanced( root->left ) && isBalanced( root->right );

17     }

 

你可能感兴趣的:(binary)