16.检查是否为BST

题目描述

请实现一个函数,检查一棵二叉树是否为二叉查找树。

给定树的根结点指针TreeNode* root,请返回一个bool,代表该树是否为二叉查找树

import java.util.*;

/*
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;
    public TreeNode(int val) {
        this.val = val;
    }
}*/
public class Checker {
    public boolean checkBST(TreeNode root) {
        if(root==null) return true;
        boolean b1=checkBST(root.left);
        boolean b2= checkBST(root.right);
        if(b1 && b2 ){
            if(root.left!=null && root.left.val>root.val)
                return false;
            if(root.right!=null && root.right.val<root.val)
                return false;
            return true;
        }else
            return false;
    }
}

  

原文地址:https://www.cnblogs.com/mlz-2019/p/4783639.html