标签:
看到二叉树的题目,基本都可以用递归的思想求解。对于判断是否是一棵平衡树可分为以下几个步骤:
class Solution {
public:
bool isBalanced(TreeNode *root)
{
if (root == NULL)
return true;
else
{
int left = depth(root->left);
int right = depth(root->right);
if (abs(left - right) > 1)
return false;
return isBalanced(root->left) && isBalanced(root->right);
}
}
int depth(TreeNode* root)
{
if (root == NULL)
return 0;
else
return max(depth(root->left), depth(root->right)) + 1;
}
};
标签:
原文地址:http://www.cnblogs.com/flyjameschen/p/2afa7e15fcca0b7f32feb58e45ed8cd4.html