题目虽然简单,但是也要把答案写的这么简单才好。
确定节点的左右边界,这个思路我没看到有人这么做,可以作为这类题的一个通用的思路。
bool isValidBST(TreeNode* root) {
// write code here
return isValidBSTTree(root,INT_MIN,INT_MAX);
}
bool isValidBSTTree(TreeNode* root,int leftVal,int rightVal) {
if(root == NULL){
return true;
}
if(root->val < leftVal || root->val > rightVal){
return false;
}
return isValidBSTTree(root->left,leftVal,root->val) && isValidBSTTree(root->right,root->val,rightVal);
}



京公网安备 11010502036488号