您的位置:首页 > Web前端

[剑指offer]平衡二叉树

2016-05-09 08:34 363 查看


题目描述

输入一棵二叉树,判断该二叉树是否是平衡二叉树。

分析:平衡二叉树是一颗空树或者左右子树的高度差不超过1。感觉我用的方法很蠢。。就是按照定义的左右子树的高度差求出来再判断。。

代码:

class Solution {
public:
int getDepth(TreeNode* pRoot){
if(pRoot==nullptr) return 0;
return 1+max(getDepth(pRoot->left),getDepth(pRoot->right));
}
bool IsBalanced_Solution(TreeNode* pRoot) {
if(pRoot==nullptr) return true;
int left=getDepth(pRoot->left);
int right=getDepth(pRoot->right);
if(left==right||left==right+1||right==left+1) return true;
return false;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: