【问题描述】输入一个整数数组,判断该数组是不是某二叉查找树(折半查找树)的后序遍历的结果。如果是返回true,否则返回false。
【输入形式】输入任意长度的数组,数字之间空格分开
【输出形式】true 或者 false
【样例输入】输入5 7 6 9 11 10 8
【样例输出】true
【样例说明】由于这一整数序列是如下树的后序遍历结果:
8
/ \
6 10
/ \ / \
5 7 9 11
因此返回true。
【评分标准】暴力求解法不得分。
【提示】后序遍历的最后一个结点一定是根结点,那么前面的数据就可以划分为比根小的、比根大的。依此类推下去。
我的思路是数组长度len除以二得到ret,则0到ret左闭右开区间内是左子树,ret到len左闭右开区间内是右子树,递归定义,得到判断的函数,这个思路是正确的吗?我的递归学的不是很好,如果是正确的能烦请您帮我实现吗?