98. Validate Binary Search Tree

BST可以考虑中序遍历,如果合法,得到的结果总是递增的,我们通过对IN-ORDER的结果进行依次检查来判断其是否是合法的。

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    TreeNode pre = null;
    boolean valid =true;
    public boolean isValidBST(TreeNode root) {
        isValid(root);
        return valid ;
    }
    private void isValid(TreeNode root)
    {
        if(root==null)return ;
        isValid(root.left);
        if(pre!=null)
        {
            if(pre.val>=root.val)
                valid=false;
        }
        pre=root;
        isValid(root.right);
        
    }
}

你可能感兴趣的:(98. Validate Binary Search Tree)