98. Validate Binary Search Tree 验证二叉搜索树
98. Validate Binary Search Tree 验证二叉搜索树
考察二叉树的中序遍历 time: O(logN) 平均树高度,最坏 O(N) space: O(logN) 栈空间和前继节点
bool isValidBST(TreeNode* root) {
TreeNode* prev=NULL;
return valid(root, prev);
}
bool valid(TreeNode* root, TreeNode*& prev) {
if (root==NULL) return true;
// 一直向左
if (!valid(root->left, prev)) return false;
// 中
if (prev!=NULL && prev->val>=root->val) return false;
prev=root;
// 右
return valid(root->right, prev);
}#BST