zoukankan      html  css  js  c++  java
  • [LeetCode] 98. 验证二叉搜索树

    方法一:

    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;
        }
    }

  • 相关阅读:
    获取各种高度宽度方法总结
    关于float、absolute,fixed谁的z-index大!
    一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
    clientHeight的纠结之处
    js和jq的获取元素偏移位置
    js的一些使用
    微信 ios的问题
    jQuery事件之鼠标事件
    遇到的问题
    css
  • 原文地址:https://www.cnblogs.com/doyi111/p/12833989.html
Copyright © 2011-2022 走看看