输入一棵二叉树,判断该二叉树是否是平衡二叉树。
class Solution {
public:bool IsBalanced_Solution(TreeNode* pRoot) {
if(helper(pRoot)<0)return false;
return true;
}
int helper(TreeNode* node)
{
if(node==NULL) return 0;
int leftdeepth=helper(node->left);
if(leftdeepth==-1) return -1;
int rightdeepth=helper(node->right);
if(rightdeepth==-1||abs(rightdeepth-leftdeepth)>1)
return -1;
return max(leftdeepth,rightdeepth)+1;
}
};