博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pta l2-4(这是二叉搜索树吗?)
阅读量:7281 次
发布时间:2019-06-30

本文共 697 字,大约阅读时间需要 2 分钟。

题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805070971912192

题意:给定n以及n个整数,问该序列是否为二叉搜索树的前序遍历或者二叉搜索树镜像的前序遍历,若是,则输出YES,并输出其后序遍历,否则输出NO。

思路:先判断是否为二叉搜索树的前序遍历,令is=false,通过递归和二叉搜索树的性质计算其后序遍历序列,若序列长度等于n,即成立,否则令is=true,再次计算其后序遍历序列,若序列长度为n即成立,否则输出“NO”。

AC代码:

1 #include
2 using namespace std; 3 4 int n; 5 vector
pre,post; 6 bool is; 7 8 void getpost(int l,int r){ 9 int i=l+1,j=r;10 if(l>r) return;11 if(!is){12 while(i<=r&&pre[i]
l&&pre[j]>=pre[l]) --j;14 }15 else{16 while(i<=r&&pre[i]>=pre[l]) ++i;17 while(j>l&&pre[j]

 

转载于:https://www.cnblogs.com/FrankChen831X/p/10541785.html

你可能感兴趣的文章
Vue路由自动注入实践
查看>>
类数组转化成数组的方法
查看>>
Android屏幕适配方案
查看>>
使用Databinding轻松快速打造仿携程app筛选控件(二)
查看>>
AppCompatActivity怎么对View做的拦截
查看>>
记b站的一次react尝试
查看>>
Binder IPC
查看>>
mpvue开发小程序
查看>>
聊聊HotSpot VM的Native Memory Tracking
查看>>
双内核浏览器内核切换控制技术
查看>>
你离ELK只有一句docker-compose的距离
查看>>
[译]从内部了解现代浏览器(2)
查看>>
你不懂js系列学习笔记-作用域和闭包- 05
查看>>
iOS 中的 GCD 实现详解
查看>>
写给新人的React快速入门手册
查看>>
Github生成公钥私钥的方法
查看>>
mybatis 入门搭建
查看>>
JS设计模式初识(五)-发布订阅模式
查看>>
授人予鱼不如授人予渔:零基础java学习路线分享
查看>>
韩人工智能与人类展开智力对决:人工智能完胜
查看>>