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);
}
};
这里用了一个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);
}
};
相关文章推荐
- 98. Validate Binary Search Tree
- leecode 解题总结:98. Validate Binary Search Tree
- LeetCode 98. Validate Binary Search Tree
- Validate Binary Search Tree
- validate-binary-search-tree
- leetcode - Validate Binary Search Tree
- LeetCode Validate Binary Search Tree
- Validate Binary Search Tree 检测一个BST是否有效@LeetCode
- 判断二叉查找树的合法性 Validate Binary Search Tree
- Validate Binary Search Tree [LeetCode]
- Leetcode优化:Validate Binary Search Tree
- [leetcode] 98.Validate Binary Search Tree
- Validate Binary Search Tree_Leetcode
- Validate Binary Search Tree
- LeetCode.98 Validate Binary Search Tree
- LeetCode98 Validate Binary Search Tree
- LeetCode | Validate Binary Search Tree(有效的二叉搜索树)
- 98. Validate Binary Search Tree
- Validate Binary Search Tree
- [LeetCode]Validate Binary Search Tree@python