Validate Binary Search Tree

来源:互联网 发布:淘宝是什么公司的 编辑:程序博客网 时间:2024/04/30 16:01

中序遍历,结果递增的话就说明是一颗二叉搜索树

这里用了一个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);    }};


0 0
原创粉丝点击