题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
二叉搜索树:左子树的所有结点小于根结点 && 右子树的所有结点大于根节点;
二叉搜搜索树的后序遍历:遍历的最后一个元素是树的根节点;
基于以上两点,遍历的数组可以分为两部分,前半部分是左子树的值,后半部分是右子树的值,需要用递归的方法(即:左子树部分的数组最后一个元素是左子树的根节点)对树的左子树和右子树部分进行同样的操作;
实例:
如:后序遍历的数组 {5,7,6,9,11,10,8} ,8为树的根节点 ,数组前半部分{5