leetcode-110. 平衡二叉树
题目:
代码:
#include <iostream>
#include <cmath>
using namespace std;
struct TreeNode{
int val;
TreeNode *left,*right;
};
int depth(TreeNode *root){
if(!root){
return 0;
}
int m,n;
m=depth(root->left);
n=depth(root->right);
if(m>n){
return m+1;
}else{
return n+1;
}
}
bool isBalanced(TreeNode* root) {
if(!root){
return true;
}else{
return abs(depth(root->left)-depth(root->right))<=1 && isBalanced(root->right) && isBalanced(root->left);
}
}
int main(){
bool res;
TreeNode* root;
res=isBalanced(root);
if(res){
cout<<"true";
}else{
cout<<"false";
}
return 0;
}