LeetCode: Balanced Binary Tree in Objective C
typedef struct {
int value;
struct TreeNode *left;
struct TreeNode *right;
} TreeNode;
- (BOOL)isBalanced:(TreeNode *)node
{
if (!node) return true;
return (abs(maximumDepth(node.left)-maximumDepth(node.right)) <=1
&& isBalanced(node.left)
&& isBalanced(node.right);
}
- (int)maximumDepth:(TreeNode *)node
{
if (!node) return 0;
return MAX(maximumDepth(node.left), maximumDepth(node.right)) + 1;
}