二叉搜索树后续遍历判断

原创 2018年04月16日 16:26:52

问题:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。

解答:

import java.util.Arrays;
import java.util.Vector;
public class Solution {
public boolean VerifySquenceOfBST(int[] sequence) {
    //基准情况,递归终止条件
    if(sequence==null || sequence.length<=0)
        return false;
    int root = sequence[sequence.length-1];
    int i=0;
    for(;i<sequence.length-1;i++)
        if(sequence[i]>root)
            break;
    int j=i;
    for(;j<sequence.length-1;j++){
        if(sequence[j]<root)
            return false;
    }
    boolean left = true;
    boolean right = true;
    //递归演进,我们思考的过程,如何推进
    if(i>0)
        left =  VerifySquenceOfBST(Arrays.copyOfRange(sequence,0,i));
    if(j==sequence.length-2)
        right = VerifySquenceOfBST(Arrays.copyOfRange(sequence,i,sequence.length-1));
    //返回结果
    return (left && right);

    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jcsyl_mshot/article/details/79962374

判断给出的序列是不是一个二叉搜索树的后序遍历

思路:这个问题其实和给定二叉树的前序(后序)遍历及中序遍历重建二叉树类似,解题的关键点是通过后序遍历找出当前二叉树的根节点,然后根据二叉搜索树左子树小于根节点,右子树大于根节点的特性,我们可以很容易找...
  • zx582727090
  • zx582727090
  • 2016-08-02 16:53:35
  • 643

判断二叉搜索树的后序遍历序列是否合法

简单的分析一下,后序遍历,遍历顺序为左右根,那么序列的最后一个节点必为根节点。由于二叉搜索树的性质,根节点的左子树所有值小于根节点的值,右子树大于根节点,那么,我们只需要将序列分为左子树(leftTr...
  • dingchenxixi
  • dingchenxixi
  • 2016-09-25 11:11:37
  • 635

Java 判断一个序列是否是搜索二叉树的后序遍历结果

//思路最后一个节点是二叉树的根节点,前面一些节点小于这个节点,后面节点大于这个节点 //如果后面一些节点有小于这个节点值的节点,那么就不是二叉搜索树的后序遍历,作为程序的退出点 //找到cut点,递...
  • u011438605
  • u011438605
  • 2017-04-15 18:46:30
  • 414

剑指offer--面试题24:二叉搜索树的后序遍历序列--Java实现

题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意两个数字互不相同。解题思路: 要明确两个概念: 1. 二叉...
  • u012289407
  • u012289407
  • 2015-06-21 16:28:15
  • 898

二叉搜索树的后序遍历序列(递归与非递归)

题目:输入一个整数数组,判断该整数是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都不相同。 解析:例如输入的数组{5,7,6,9,...
  • yang20141109
  • yang20141109
  • 2016-03-25 17:38:02
  • 333

判断是否是二叉查找树的后序遍历结果

题目: 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:  ...
  • LaoJiu_
  • LaoJiu_
  • 2016-03-07 16:22:46
  • 1662

判断一个数组是否为二叉排序树的后续遍历

二叉搜索树的后序遍历序列 参与人数:2503时间限制:1秒空间限制:32768K算法知识视频讲解 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是...
  • u014737310
  • u014737310
  • 2016-03-23 22:06:25
  • 752

剑指offer面试题24:二叉搜索树的后续遍历序列 Java实现

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同 例如:输入数组{5,7,6,9,11,10,8...
  • gg543012991
  • gg543012991
  • 2016-09-11 15:40:07
  • 488

剑指offer:二叉搜索树的后序遍历序列(判断一个数组是否是二叉搜索树的后续遍历序列)

题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 #include #incl...
  • u010889616
  • u010889616
  • 2015-09-11 15:04:01
  • 610

剑指offer-二叉搜索树的后续遍历

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 参考一位牛客大神的答案,完美,思路清晰; class So...
  • ccnnli
  • ccnnli
  • 2017-05-05 15:15:27
  • 94
收藏助手
不良信息举报
您举报文章:二叉搜索树后续遍历判断
举报原因:
原因补充:

(最多只允许输入30个字)