您的位置:首页 > 其它

Validate Binary Search Tree

2016-11-08 10:34 204 查看
中序遍历,结果递增的话就说明是一颗二叉搜索树

这里用了一个trick,用prev保存前驱节点,dfs的同时做比较

class Solution {
public:
bool isValidBST(TreeNode* root) {
TreeNode* prev = NULL;
return validate(root, prev);
}
bool validate(TreeNode* node, TreeNode* &prev) {
if (node == NULL) return true;
if (!validate(node->left, prev)) return false;
if (prev != NULL && prev->val >= node->val) return false;
prev = node;
return validate(node->right, prev);
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: