2021-08-24剑指 Offer 33. 二叉搜索树的后序遍历序列
将二叉树划分为左右子树,分别对左右子树进行验证是否为二叉树,
根节点的下标为i,
右子树的开端为第一个大于根节点的数字m,
则左边的子树为【0,m-1】,右边的子树的下标为【m,i-1】
(这个不对,右边也是要划分的因为很可能在根节点之前仍有比根节点还要小的数目。
当左边界和右边界重合的时候递归终止表示到底了。
递归:
class Solution {public:bool verifyPostorder(vector<int>& postorder) {return recursion(postorder,0,postorder.size()-1);}bool recursion(vector<int>&postorder,int l,int r){if(l >= r)return true;int i = l;while(postorder[i] < postorder[r]) i++;//确定左子树的范围,int j = i;while(postorder[j] > postorder[r]) j++;//确定右子树的范围,return j == r && recursion(postorder,l,i-1) && recursion(postorder,i,r-1);//j == r是为了验证能否覆盖所有的子叶节点}
};
2021-08-24剑指 Offer 33. 二叉搜索树的后序遍历序列相关推荐
- 【LeetCode】剑指 Offer 33. 二叉搜索树的后序遍历序列
[LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 文章目录 [LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 package offer;public cl ...
- 剑指 Offer 33. 二叉搜索树的后序遍历序列
剑指 Offer 33. 二叉搜索树的后序遍历序列 原始题目链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-hou-xu-bian- ...
- 【超100%解法】剑指 Offer 33. 二叉搜索树的后序遍历序列
立志用最少的代码做最高效的表达 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同. 示例 1: 输入: ...
- 二叉排序树的后序遍历序列必然是递增的_剑指offer 33——二叉搜索树的后序遍历序列...
本题主要在于考察对二叉搜索树和后序遍历的理解. 原题 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同 ...
- 【分治】剑指 Offer 33. 二叉搜索树的后序遍历序列
题目描述 (中等)输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同. 参考以下这颗二叉搜索树: 5/ ...
- 剑指offer之二叉搜索树的后序遍历序列
剑指offer之二叉搜索树的后序遍历序列 欢迎关注作者博客 简书传送门 题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个 ...
- 剑指offer 33. 二叉搜索树的后序遍历
声明:本系列博客是对何海涛<剑指offer>的关键点总结. 1.问题描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果,如果是返回true,否则返回false.假设输入的数 ...
- 一刷328-递归recur-剑指 Offer 33. 二叉搜索树的后序遍历序列(m)
题目: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false. 假设输入的数组的任意两个数字都互不相同. ----------- 示例:参考以下这 ...
- 剑指笔记——33.二叉搜索树的后序遍历序列
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No. 假设输入的数组的任意两个数字都互不相同. 思路:在这个题中要注意是二叉搜索树,二叉搜索树满足左 ...
最新文章
- 【B/S实践】IIS发布
- 云栖社区 正文 永久免费SSL安全证书Letsencrypt安装使用方法
- HTML5基础01-网页的构造块
- 在IE中测试调用Web Service
- 【交换机】交换机如何配置光电复用接口
- SQL Server中的SQL语句优化与效率问题
- Matlab回归分析regress和polyfit
- 【成长之路】JavaScript中,模拟 call 的底层实现
- Swing写qq聊天软件(想要QQ表情@我呦)
- 《Scala机器学习》一一1.1 Scala入门
- Eclipse问题解决
- svg 转换为 pdf (batik 库+fop库)
- 算法竞赛入门经典(刘汝佳)——基础篇心得
- 关于Python绘制正态分布图(概率密度分布)以及遇到的问题(label无法显示)
- 用DEV-C++制作狼人杀
- 解决Windows x86网易云音乐不能将音乐下载到SD卡的BUG
- VLAN间路由的配置
- linux命令:xxd读取二进制文件
- DeviceNet技术及其产品开发
- 数据库系统工程师——第一章 计算机系统知识(经典例题)
热门文章
- 有关Cantera安装在python语言环境下的历程
- dubbo框架及dubbo环境搭建
- 机器阅读理解笔记之glove词向量与attentive readerimpatient reader和bi-DAF
- Google发布RAISR
- 分区工具给硬盘重新分区
- 可以用来分析文本数据的Python工具的完整指南
- 网站域名需要实名认证吗 域名实名和域名备案是一样的吗
- Python实现“鸟脸识别”系统,看看什么鸟最贪吃~ 初学者也能学会
- 客户和服务器之间响应的序列,网络编程-第五讲-TCP客户-服务器程序例子.pdf-原创力文档...
- 编译器构造java语言描述pdf_(基于Java)编写编译器和解释器-第3A章:基于Antlr构造词法分析器(连载)...