判断是否是有效的二叉搜索树,即左子树的值小于根结点,右子树的值大于根结点。可以采用递归的方式来完成,递归时如何
传递有效的参数与根结点进行比较,是此题的难点。
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 }
时间: 2024-10-13 15:35:23