码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode] 98. 验证二叉搜索树

时间:2020-05-06 01:18:21      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:for   efi   sem   http   root   mic   nod   height   div   

方法一:

long pre=Long.MIN_VALUE;
    public boolean isValidBST3(TreeNode root){
        if(root==null) return true;
        if(!isValidBST3(root.left)) return false;
        if(root.val<=pre)return false;
        pre=root.val;
        return isValidBST3(root.right);
    }

技术图片

 

 方法二:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean isValidBST(TreeNode root) {
        Stack<TreeNode> stack=new Stack<>();
        double inorder=-Double.MAX_VALUE;

        while(!stack.isEmpty()||root!=null){
            while (root!=null){
                stack.push(root);
                root=root.left;
            }
            root=stack.pop();
            if(root.val<=inorder){
                return false;
            }
            inorder=root.val;
            root=root.right;
        }
        return true;
    }
}

技术图片

 

 方法三:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean isValidBST(TreeNode root) {
        return helper(root,null,null);
    }

    public boolean helper(TreeNode node,Integer lower, Integer upper){
        if(node==null) return true;
        int val=node.val;
        if(lower!=null&&val<=lower) return false;
        if(upper!=null&&val>=upper) return false;
        if(!helper(node.right,val,upper)) return false;
        if(!helper(node.left,lower,val)) return false;
        return true;
    }
}

技术图片

 

[LeetCode] 98. 验证二叉搜索树

标签:for   efi   sem   http   root   mic   nod   height   div   

原文地址:https://www.cnblogs.com/doyi111/p/12833989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!