剑指OFFER
题目描述一:输入二叉搜索树的根节点,输出该二叉树的深度。
int depth(TreeNode* root){
if(!root){
return 0;
}
return 1 + max(depth(root -> left), depth(root -> right));
}
题目描述二:输入二叉搜索树的根节点,判断该二叉树是否为平衡二叉树。
int dfs(TreeNode* root){
if(!root){
return 0;
}
int left = dfs(root -> left);
int right = dfs(root -> right);
if(left == -1 || right == -1 || abs(left - right) > 1){
return -1;
}
return 1 + max(left, right);
}
bool isBalance(TreeNode* root){
return dfs(root) != -1;
}