Question 98 – Validate Binary Search Tree
判断一棵树是不是二分查找树。
算法
用DFS算法。每次递归时传递一个最大值和一个最小值。对于当前节点左边的树有一个最大值,右边的树有一个最小值。
Code
class Solution {
public:
bool isValidBST(TreeNode* root) {
return isvalid(root, LONG_LONG_MAX, LONG_LONG_MIN);
}
bool isvalid(TreeNode* nowroot, long long max, long long min){
if(nowroot==NULL)
return true;
if(nowroot->val>=max || nowroot->val<=min)
return false;
return isvalid(nowroot->left, nowroot->val, min) && isvalid(nowroot->right, max, nowroot->val);
}
};
本文介绍了一种使用深度优先搜索(DFS)算法来验证给定的二叉树是否为有效的二分查找树的方法。通过递归方式,在每个节点上设置最大值和最小值限制,确保左子树的所有节点值小于当前节点值且右子树的所有节点值大于当前节点值。
479

被折叠的 条评论
为什么被折叠?



