package bst;
public class isBSTornot {
/**
* 本质用中序遍历
* @param args
*/
public static TreeNode pre = null;
public static boolean isbst(TreeNode root){
if(root==null) return true;
if(!isbst(root.left)){
return false;
}
if(pre!=null&&root.data<pre.data){
return false;
}
pre = root;
return isbst(root.right);
}
public static void main(String[] args) {
TreeNode root = new TreeNode(20, null, null);
root.left = new TreeNode(8, null, null);
root.left.left = new TreeNode(4, null, null);
root.left.right = new TreeNode(12, null, null);
root.left.right.left = new TreeNode(10, null, null);
root.left.right.right = new TreeNode(14, null, null);
root.right = new TreeNode(22, null, null);
System.out.println(isbst(root));
}
}
判断一颗二叉树是不是查找二叉树
最新推荐文章于 2022-07-01 16:22:48 发布