Balanced Binary TreeTotal accepted:86508 Total submissions:263690 difficulty:easy
Given a binary tree, determine if it is height-balanced.
For this problem, a height-balanced binary tree was defined as a binary tree in which the depth of the Every node never differ by more than 1.
/** Definition for a binary tree node. * struct TreeNode {* int val; * TreeNode *left; * TreeNode *right; * TreeNode (int x): Val (x), left (null), right (NULL) {} *}; */classSolution { Public: intGettreeheight (treenode*root) { if(root==NULL) { return 0; } intLH = Gettreeheight (root->Left ); intRH = Gettreeheight (root->Right ); returnLh>rh? lh+1: rh+1; } BOOLIsbalanced (treenode*root) { if(root==NULL) { return true; } intLH = Gettreeheight (root->Left ); intRH = Gettreeheight (root->Right ); if(Fabs (LH-RH) <=1){ returnisbalanced (Root->left) && isbalanced (root->Right ); }Else{ return false; } }};
Next challenges: (E) Maximum Depth of Binary Tree
Balanced Binary Tree