【剑指Offer】二叉搜索树的后序遍历序列
发布日期:2022-02-10 08:55:14
浏览次数:33
分类:技术文章
本文共 1087 字,大约阅读时间需要 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月18日 08时04分47秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
使用闪回查询备份数据(r2笔记43天)
2019-04-27
一些极度危险的linux命令(r2笔记49天)
2019-04-27
怎样突破表名30个字符的限制(r2笔记51天)
2019-04-27
海量数据迁移之分区并行抽取(r2笔记53天)
2019-04-27
VXFS启用异步IO导致的严重问题(r2笔记56天)
2019-04-27
数据迁移工具简单分析 (r2笔记59天)
2019-04-27
海量数据迁移之通过rowid切分大表(r2笔记62天)
2019-04-27
关于oracle后台启用的schedule job(r2笔记65天)
2019-04-27
胖客户端程序总结(r3笔记44天)
2019-04-27
简单分析shared pool(二) (r3笔记48天)
2019-04-27
数据库静默安装总结(r3笔记第58天)
2019-04-27
和Null有关的函数(r3笔记第48天)
2019-04-27
关于sysdba,sysoper,dba的区别(r3笔记第62天)
2019-04-27
关于数据库中的一些name(r3笔记第64天)
2019-04-27
宝宝游乐园的优化思路(r6笔记第72天)
2019-04-27
2020国庆第2天出行归来
2019-04-27
使用图表分析2020北京积分落户的数据
2019-04-27
助力职场的这4项软技能很重要
2019-04-27
binlog server伪装master恢复增量数据
2019-04-27
最受欢迎的微服务框架概览
2019-04-27