题目描述:
题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历的结果。如果是输出yes,不是输出no,数组任意两个数字不相同。
解题思路:
对于二叉搜索树的而言,什么是二叉搜索树?
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。
二叉搜索树按照中序遍历的话就是有序的,由题可知,要对其进行后序遍历,遍历序列最后一个肯定就是根节点,对于根节点来说,其左子树所有的节点都小于根节点的值。其所有右子树的值都大于根节点的值。同样的道理,如果根节点换做是根节点的左节点或者右节点,其大小关系是相同的,所以此题应该采用递归解