isBalanced平衡树
不用判断是否是二叉搜索树
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
递归求解如下:
class Solution {
public:
int level(TreeNode *root){
if(root == NULL)
return 0;
return max(level(root->left), level(root->right)) + 1;
}
bool IsBalanced_Solution(TreeNode* pRoot) {
if (pRoot == NULL){
return true;
}
int factor = abs(level(pRoot->left)-level(pRoot->right));
return factor<2 && IsBalanced_Solution(pRoot->left) && IsBalanced_Solution(pRoot->right);
}
};