题解 | #判断是不是平衡二叉树#c++极简单理解三段式递归代码
判断是不是平衡二叉树
http://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222
c++极简单递归代码
public:
bool IsBalanced_Solution(TreeNode* pRoot) {
if(pRoot == nullptr || (pRoot->left == nullptr && pRoot->right == nullptr)) return true;
return judge(pRoot) && judge(pRoot->left) && judge(pRoot->right);
}
int depth(TreeNode* root){
if(root == nullptr) return 0;
return max(depth(root->left), depth(root->right))+1;
}
bool judge(TreeNode* root){
return abs(depth(root->left)-depth(root->right))<=1;
}
};
莉莉丝游戏公司福利 699人发布