导航

16.检查是否为BST

Posted on 2015-09-05 18:24  骄阳照林  阅读(190)  评论(0编辑  收藏  举报

题目描述

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

给定树的根结点指针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;
    }
}