判断一棵树是否为搜索树
搜索树:当前节点的左儿子一定小于当前节点,右儿子一定大于当前节点!
思路:
如果一颗树为搜索树,那么它的中序遍历结果一定是一个升序的数组,将树进行中序遍历后将得到的值存入数组判断是否为升序即可!
树的构建:
class TreeNode{
int val;
TreeNode left;
TreeNode right;
}
解题模板:
class solution{
static int idx=0;
static int num[]=new int[100010];
//中序遍历得到有序数组!
public static void zhongxu(TreeNode root){
if(root==null)return;
zhongxu(root.left);
num[idx++]=root.val;
zhongxu(root.right);
}
}