二叉搜索树的后序遍历序列
2019-03-19 15:24
93 查看
版权声明:如需转载,请写明出处 https://blog.csdn.net/weixin_43113679/article/details/88663410
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
public class Solution { public boolean IsBST(int [] sequence,int first,int last){ //当first和last相等的时候就是叶子节点不用考虑再往下了, if(first>=last){ return true; } //i从后往前遍历,确定那个中间点也就是当前根节点,小于根节点的位置,也就是根节点的左孩子, int i =last; while(i>first&&sequence[i-1]>sequence[last]){ --i; } //上边能保证到i到最后都比当前根节点大,下面就是遍历第一个到i for(int j =i-1;j>=first;--j){ if(sequence[j]>sequence[last]){ return false; } } //进行递归,必须全部是TRUE才行 return IsBST(sequence, first, i-1)&&IsBST(sequence, i, last-1); } public boolean VerifySquenceOfBST(int [] sequence) { if(sequence.length<1){ return false; } return IsBST(sequence, 0,sequence.length-1); } }
相关文章推荐
- 剑指offer 面试题24—二叉搜索树的后序遍历序列
- 【剑指offer】面试题 33:二叉搜索树的后序遍历序列
- 剑指offer-面试题24 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列和二叉搜索树的前序遍历序列
- [剑指offer][面试题24]二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 17、二叉搜索树的后序遍历序列
- 面试题24_二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列Java
- Q24:二叉搜索树的后序遍历序列
- 剑指offer 面试题24 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 输入一个数列,判断是否为某一个二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 题目1367:二叉搜索树的后序遍历序列