题目
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
解题思路
解法一:
非递归版本
对于二叉搜索树的节点来说,它总是大于左子树所有的节点,小于右子树所有的节点。这样就可以一一检查每个节点是否符合条件。
因为数组是后续遍历的结果,所以各个子树的根节点在数组末尾。
|
|
解法二:
递归版本
|
|
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
解法一:
非递归版本
对于二叉搜索树的节点来说,它总是大于左子树所有的节点,小于右子树所有的节点。这样就可以一一检查每个节点是否符合条件。
因为数组是后续遍历的结果,所以各个子树的根节点在数组末尾。
|
|
解法二:
递归版本
|
|