/**

Definition for a binary tree node.

struct TreeNode {

int val;

TreeNode *left;

TreeNode *right;

TreeNode(int x) : val(x), left(NULL), right(NULL) {}

};
*/
class Solution {
public:int maxDepth(TreeNode* root)
{
if(root==NULL)
return 0;
return 1+max(maxDepth(root>left),maxDepth(root>right));
}int minDepth(TreeNode* root)
{
if(root==NULL)
return 0;
return 1+min(minDepth(root>left),minDepth(root>right));
}bool isBalanced(TreeNode* root) {
return (maxDepth(root)minDepth(root)<=1);
}
};