• 38: Validate Binary Search Tree


    /************************************************************************/
            /*       38:      Validate Binary Search Tree                            */
            /************************************************************************/
            /*
             *  Given a binary tree, determine if it is a valid binary search tree (BST).

    Assume a BST is defined as follows:

        The left subtree of a node contains only nodes with keys less than the node's key.
        The right subtree of a node contains only nodes with keys greater than the node's key.
        Both the left and right subtrees must also be binary search trees.

    confused what "{1,#,2,3}" means? > read more on how binary tree is serialized on OJ.
             *
             * */
            
            
            /*
             * 二叉搜索树:
             *
             * */
            
            /**
             * Definition for binary tree
             * public class TreeNode {
             *     int val;
             *     TreeNode left;
             *     TreeNode right;
             *     TreeNode(int x) { val = x; }
             * }
             */
            
    /**1 : max(left nodes) < root&& min(right nodes)>root *******************************************/

    // 当 min(left node )>root || max(right nodes)<root 时 就肯定不是了

    public boolean isValidBST(TreeNode root)
            {
                return  validate(root,null,null);
            }
    
            boolean validate(TreeNode node, TreeNode tmin, TreeNode tmax) {
                if (node == null) return true;
                if (tmin != null && node.val <= tmin.val) return false;
                if (tmax != null && node.val >= tmax.val) return false;
                return validate(node.left, tmin, node) && validate(node.right, node, tmax);
            }
  • 相关阅读:
    mysql复制那点事
    全排列问题
    56. Merge Interval
    2. Add Two Numbers
    20. Valid Parentheses
    121. Best Time to Buy and Sell Stock
    120. Triangle
    96. Unique Binary Search Trees
    91. Decode Ways
    72. Edit Distance
  • 原文地址:https://www.cnblogs.com/theonemars/p/4254212.html
Copyright © 2020-2023  润新知