左子树是平衡二叉树&&右子树是平衡二叉树&&左右子树高度差不超过1
bool isBalanced(Node *root){
if (root == NULL){
return true;
}
if (isBalanced(root->left) == false){
return false;
}
if (isBalanced(root->right) == false){
return false;
}
return ture;
//求左子树的高度
int left = height(root->left);
int right = height(root->right);
int diff = left - right;
if (diff > 1 || diff < -1){
return false;
}
}
//求高度
int height(Node *root){
if (root == NULL){
return 0;
}
int left = height(root->left)+1;
int right = height(root->right)+1;
return left>right ? left : right;
}