
【剑指Offer】二叉搜索树的后序遍历序列
发布日期:2022-02-10 08:55:14
浏览次数:13
分类:技术文章
本文共 967 字,大约阅读时间需要 3 分钟。
题目
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true
,否则返回 false
。假设输入的数组的任意两个数字都互不相同。
思路
同剑指offer书上思路,好理解很多!
代码
class Solution {public:
bool verifyPostorder(vector& postorder) {
if(postorder.size() <= 0){
return true;
}
int len = postorder.size();
return verify(postorder,0,len);
}
bool verify(vector& postorder,int start,int len) {
int root = postorder[start + len - 1];
int i = 0;
//比较左子树和根,找到左子树结束位置
for(;i < len - 1;i++){
if(postorder[start +i] > root){
break;
}
}
int j = i;
//比较右子树和根,如果出现比根小的说明不存在这棵树
for(;j < len - 1;j++){
if(postorder[start +j] < root){
return false;
}
}
//递归比较左子树,如果为空的话就默认为true
bool left = true;
if(i > 0)
left = verify(postorder,start +0,i);
//递归比较右子树,如果为空的话就默认为true
bool right = true;
if(i < len-1-i)
right = verify(postorder,start + i,len-1-i);
return left && right;
}};
转载地址:https://blog.csdn.net/hanmin822/article/details/105674963 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2023年02月28日 13时06分49秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
最新文章
ServerSocket和Socket建立通信(客户端发送消息服务器接收并返回到客户端接收输出)
2019-11-28 20:00:02
ServerSocket和Socket建立通信(服务器和客户端循环接收发送)
2019-11-28 20:00:02
REST简介
2019-11-28 20:00:01
Spring自定义类扫描器
2019-11-28 20:00:01
迷茫的架构师之路
2019-11-28 20:00:01
企业级负载平衡简介
2019-11-28 20:00:00
@Controller和@RestController的区别?
2019-11-28 19:59:59
DataTables介绍
2019-11-28 19:59:59
Springboot 整合 Mybatis 的完整 Web 案例
2019-11-28 19:59:59
本地更新代码同步至github仓库
2019-11-28 19:59:59
github入门到上传本地项目
2019-11-28 20:00:00
加密原则
2019-11-28 20:00:00
如何设置Session的有效期?
2019-11-28 19:59:58
有关javap 中生成的字节码含义总结
2019-11-28 19:59:58
面试题中的坑点
2019-11-28 19:59:58
Ajax校验是否重复
2019-11-28 19:59:58
datatables+json+ajax以json输出和删除
2019-11-28 19:59:58
前端正则校验
2019-11-28 19:59:58
Json+DataTables+Bootsrap插件简单的实例
2019-11-28 19:59:56
实例变量的初始化时机
2019-11-28 19:59:56