题目描述:
代码实现:
/*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/
int TreeHeight(struct TreeNode* root)
{if(root==NULL)return 0;//左右子树中大的那个+1int left=TreeHeight(root->left);int right=TreeHeight(root->right);return left>right?left+1:right+1;
}
bool isBalanced(struct TreeNode* root){if(root==NULL)return true;int left=TreeHeight(root->left);int right=TreeHeight(root->right);if(left-right>1||right-left>1){return false;}return isBalanced(root->left)&&isBalanced(root->right);
}