Leetcode 之Validate Binary Search Tree(53)

       判断是否是有效的二叉搜索树,即左子树的值小于根结点,右子树的值大于根结点。可以采用递归的方式来完成,递归时如何

传递有效的参数与根结点进行比较,是此题的难点。

 

 1 bool isValidBST(TreeNode *root)
 2       {
 3           isValidBST(root, INT_MIN, INT_MAX);
 4       }
 5       bool isValidBST(TreeNode *root, int lower, int upper)
 6       {
 7           return (root->val > lower && root->val < upper) && isValidBST(root->left, lower, root->val) &&
 8               isValidBST(root->right, root->val, upper);
 9 
10       }
View Code

 

posted @ 2016-06-16 11:30  牧马人夏峥  阅读(120)  评论(0编辑  收藏  举报