LeetCode: Validate Binary Search Tree in Objective C
typedef struct {
int value;
struct TreeNode *left;
struct TreeNode *right;
} TreeNode;
-(BOOL)isValidBST:(TreeNode *)node
{
return (valid:node minValue:INT_MIN maxValue:INT_MAX);
}
-(BOOL)valid:(TreeNode *)treeNode minValue:(int)minValue maxValue(int)max
{
if (!treeNode) return true;
return treeNode.value > minValue && treeNode.value < maxValue
&& (valid:treeNode.left, minValue, treeNode.value)
&& (valid:treeNode.right, treeNode.value, maxValue)
}