例子【3,4,5,9,8,11,13,12,10】 返回true
例子【3,4,5,9,11,8,13,12,10】返回false
二叉搜索树(BST)的性质:左子树的元素比右子树小,后序遍历性质:先左子树再右子树最后父节点,由这两个性质我们可以得知数组的最后一个元素绝对是根节点,而且最后一个数左边比它大的连续子数组为右子树,比它小的为左子树例如 10 为根节点,11,13,12为右子树,剩下的左边都为左子树,那么左子树是一定不能比根节点大的,右子树一定不能比根节点小。
我们每一次选取数组的最左边和最右边的元素,从左往右找到第一个比最右边元素大的元素,那么前面部分为左子树,后面部分为右子树,然后看看右子树里面有没有比根节点(最后一个元素)小的如果有那么就返回false,没有就递归左子树和右子树,递归结束的条件是最左大于等于最右。