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.
保證左右子樹的深度差不超過1
class Solution { public: int depth(TreeNode *root){ if(!root) return 0; return 1+max(depth(root->left),depth(root->right)); } bool isBalanced(TreeNode *root) { if(!root) return true; return abs(depth(root->left)-depth(root->right))<=1 && isBalanced(root->left) && isBalanced(root->right); } };