前提:二叉搜索树的后续遍历由{左子数、右子树、根}组成,根的值小于右子树,大于左子树。

思路就是:后续遍历sequence,通过与根节点比较,找到左子树与右子树的分界点(i);如果如果分界点前面的数有大于根节点的,则返回false;否则递归遍历左子树和右子树,若果直到start>end还没返回false,则返回ture。

public class Solution {public boolean VerifySquenceOfBST(int [] sequence) {//空数组的话返回false;if(sequence.length==0)return false;//同理,长度为1,直接返回true;if(sequence.length==1)return true;return searchBackTree(sequence,0,sequence.length-1);}public boolean searchBackTree(int[] sequence,int start,int end){//循环到最后还没有返回false,那就说明该队列符合if(start>end)return true;//找到左右子树的分割点int i = end;while(i>start&&sequence[i-1]>sequence[end]){i--;}//看看左子树有没有大于根节点的,有就返回falsefor(int j=start;j<i-1;j++){if(sequence[j]>sequence[end])return false;}//判断左数组和右数组分别满足后续遍历结果不return searchBackTree(sequence,start,i-1)&&searchBackTree(sequence,i+1,end-1);}
}

剑指offer(23)二叉搜索树的后序遍历序列相关推荐

  1. 【LeetCode】剑指 Offer 33. 二叉搜索树的后序遍历序列

    [LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 文章目录 [LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 package offer;public cl ...

  2. 剑指offer之二叉搜索树的后序遍历序列

    剑指offer之二叉搜索树的后序遍历序列 欢迎关注作者博客 简书传送门 题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个 ...

  3. 剑指 Offer 33. 二叉搜索树的后序遍历序列

    剑指 Offer 33. 二叉搜索树的后序遍历序列 原始题目链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-hou-xu-bian- ...

  4. 【超100%解法】剑指 Offer 33. 二叉搜索树的后序遍历序列

    立志用最少的代码做最高效的表达 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同. 示例 1: 输入: ...

  5. 二叉排序树的后序遍历序列必然是递增的_剑指offer 33——二叉搜索树的后序遍历序列...

    本题主要在于考察对二叉搜索树和后序遍历的理解. 原题 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同 ...

  6. 【分治】剑指 Offer 33. 二叉搜索树的后序遍历序列

    题目描述 (中等)输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同. 参考以下这颗二叉搜索树: 5/ ...

  7. 2021-08-24剑指 Offer 33. 二叉搜索树的后序遍历序列

    将二叉树划分为左右子树,分别对左右子树进行验证是否为二叉树, 根节点的下标为i, 右子树的开端为第一个大于根节点的数字m, 则左边的子树为[0,m-1],右边的子树的下标为[m,i-1] (这个不对, ...

  8. 剑指offer 33. 二叉搜索树的后序遍历

    声明:本系列博客是对何海涛<剑指offer>的关键点总结. 1.问题描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果,如果是返回true,否则返回false.假设输入的数 ...

  9. 一刷328-递归recur-剑指 Offer 33. 二叉搜索树的后序遍历序列(m)

    题目: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false. 假设输入的数组的任意两个数字都互不相同. ----------- 示例:参考以下这 ...

  10. 剑指笔记——33.二叉搜索树的后序遍历序列

    题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No. 假设输入的数组的任意两个数字都互不相同. 思路:在这个题中要注意是二叉搜索树,二叉搜索树满足左 ...

最新文章

  1. Python 报错解决:AttributeError: 'module' object has no attribute 'SSL_ST_INIT'
  2. tableview动态修改和删除_Ubuntu加载动态库失败的解决方案
  3. ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接
  4. 如何使用计算机改进生产线,第四章 计算机生产管理.doc
  5. python递归算法_python递归算法(上)
  6. dates.format_在SQL中使用DATES及其不同的内置函数NOW(),FORMAT()
  7. GAN-代码实现资料整合(1)
  8. antd 获取table选中行数据_element-ui 组件el-table默认选中行setCurrentRow采坑记
  9. 获取m,n之间的随机整数
  10. 管理成本降低10%,且看制造企业如何打造“智慧供应链”
  11. 学C/C++不能不知道的硬知识
  12. 图像处理(1)----图像压缩
  13. Spring 注解@Resource @Autowired @Service @Component
  14. php正则表达式替换ubb,自定义ubb代码,preg_replace()函数的一些代码
  15. 【VSLAM学习记录2】初识cmake
  16. x264码率控制介绍、配置及应用
  17. 在线教育项目(六)之讲师功能实现
  18. fragment内嵌webView,输入框获得焦点禁用系统输入法,弹出自定义输入法的处理
  19. MybatisPlus代码生成器报错AutoGenerator()‘ has private access in ‘com.baomidou.
  20. 【IO专栏】Java OIO NIO通信对比分析【002】

热门文章

  1. uml图中的各种箭头_一次搞懂建模语言UML
  2. 7z解压crc错误_winrar压缩包提示crc校验和错误,文件被破坏的解决办法
  3. 又一位纯手工打造CPU的牛人,并且汇编语言实现类Unix系统,支持文件系统
  4. 1965 - 2019 年最流行的编程语言变化
  5. 基于FPGA的电机控制设计(PWM)
  6. ROracle Mysql_ROracle包查询数据库中文乱码
  7. android sqlite更改数据,更新现有的sqlite数据库中的列,但没有任何更改android
  8. php substr函数的用法6,PHP中substr函数如何使用?
  9. nginx php如何无响应,nginx,_nginx 可以直接响应服务静态页面吗, 为何配置了很久都不成功?,nginx - phpStudy...
  10. cap流程图_化工工艺流程图制图图例汇编.pdf