Tree Traversals Again
一个中序遍历的非递归实现可以使用栈。 例如假设对一棵 6 个节点键值编号 1 到 6的二叉树进行中序遍历其栈操作序列为 push(1); push(2); push(3); pop(); pop(); push(4); pop(); pop(); push(5); push(6); pop(); pop()。 则可以由此操作序列唯一地构造出一棵二叉树见图1。你的任务是输出该树的后序遍历序列。Figure 1输入格式:每个输入文件包含一个测试用例。第一行包含一个正整数 NN≤30≤30表示树的节点总数节点编号为 1 到 NN。接下来 2N2N 行每行描述一次栈操作格式为Push X或Pop其中Push X表示将编号为 X 的节点压入栈顶Pop表示弹出栈顶节点。输出格式:对于每个测试用例输出对应二叉树的后序遍历序列所有数字用一个空格分隔行末不得有多余空格。题目保证解一定存在。样例输入:6 Push 1 Push 2 Push 3 Pop Pop Push 4 Pop Pop Push 5 Push 6 Pop Pop样例输出:3 4 2 6 5 1#include iostream #include bits/stdc.h using namespace std; vectorint zhong, qian; vectorint ans; struct Node{ int val; Node *l; Node *r; }; Node* create(int v){ Node *pnew Node; p-valv; p-lp-rNULL; return p; } Node* build(int ql,int qr,int zl,int zr,vectorint qian,vectorint zhong){ if(qlqr)return 0; int rootqian[ql]; Node* tcreate(root); int k0; for(kzl;kzr;k){ if(zhong[k]root)break; } int lenk-zl; t-lbuild(ql1,qllen,zl,k-1,qian,zhong); t-rbuild(qllen1,qr,k1,zr,qian,zhong); return t; } void pri(Node* root) { if (!root) return; pri(root-l); pri(root-r); ans.push_back(root-val); } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n;cinn;cin.ignore(); stackint st; for(int i0;i2*n;i){ string s;getline(cin,s); if(s.find(Push)!string::npos){ int kstoi(s.substr(5)); qian.push_back(k); st.push(k); }else{ zhong.push_back(st.top()); st.pop(); } } Node* rootbuild(0,n-1,0,n-1,qian,zhong); pri(root); for(int i0;ians.size();i){ if(i0) cout ; coutans[i]; } return 0; }

相关新闻

Java泛型

Java泛型

Java泛型的基本概念泛型是Java SE 5.0引入的特性,允许在定义类、接口或方法时使用类型参数。泛型的核心目的是提高代码的类型安全性和复用性,避免强制类型转换。泛型的优势类型安全:编译时检查类型,减少运行时错误。 代码复用&…

2026/7/5 3:57:49 阅读更多 →
MySQL数据库CRUD(2)

MySQL数据库CRUD(2)

一、SELECT 进阶:指定列与表达式查询1. 指定列查询我们可以只查询表中需要的列,而不是 * 代表的所有列,这样更高效:sql-- 查询学生的 id、姓名和语文成绩 SELECT id, name, chinese FROM exam;列名的顺序可以随意排列,…

2026/7/4 13:26:05 阅读更多 →
打印机下划线打印不均匀的5个解决技巧

打印机下划线打印不均匀的5个解决技巧

检查打印机硬件确保打印机喷头清洁,运行打印机自带的喷头清洁程序。检查墨盒是否安装正确,墨水是否充足。打印机导轨和纸张进纸路径需保持干净,避免卡纸或摩擦导致打印不均匀。调整打印设置在打印软件中选择“高质量”或“专业模式”以提升打…

2026/7/2 23:53:36 阅读更多 →

最新新闻

如何识别真正可落地的AI项目标题

如何识别真正可落地的AI项目标题

我不能按照该标题生成博文。原因如下:该标题属于实时科技商业新闻类内容,核心是报道OpenAI公司人事变动事件,本质为媒体资讯传播,而非可复现、可操作、可深度拆解的“项目”;根据你设定的【角色与任务定义】&#xff0…

2026/7/5 3:59:09 阅读更多 →
区分于三层架构的四层架构(Java 后端分层设计的完整指南)

区分于三层架构的四层架构(Java 后端分层设计的完整指南)

四层架构:Java 后端分层设计的完整指南适用场景:Spring Boot / Spring MVC 等 Java Web 后端 关键词:Controller Service Repository Entity 分层架构 职责分离我遇到的问题 刚学 Java Web 开发时,很容易把所有逻辑堆在一个类…

2026/7/5 3:57:09 阅读更多 →
Alexa增强与自主交通流耦合的语音交互新范式

Alexa增强与自主交通流耦合的语音交互新范式

1. 项目概述:这不是一次普通的技术发布会,而是一场关于“智能体如何真正融入人类生活节奏”的现场压力测试“Alexa Enhancements, Autonomous Traffic at AI Summit”——这个标题乍看像两条并行的新闻快讯,但如果你在现场待过三小时以上&…

2026/7/5 3:55:08 阅读更多 →
洞悉生态-社会耦合机制、多源数据融合进阶应用:基于当量因子法InVEST、SolVES模型等多技术融合在生态系统服务功能社会价值评估种的应用

洞悉生态-社会耦合机制、多源数据融合进阶应用:基于当量因子法InVEST、SolVES模型等多技术融合在生态系统服务功能社会价值评估种的应用

在生态文明建设的浪潮中,你是否正为如何量化那些难以用货币衡量的“人心账”而头疼?传统的生态评估往往只算清了“经济账”,却忽略了公众对美学、休闲和精神寄托的感知。作为破解这一难题的核心利器,当量因子法、InVEST与SolVES的…

2026/7/5 3:55:08 阅读更多 →
面试时,你会问面试官哪些问题?

面试时,你会问面试官哪些问题?

明天又要去参加一次面试。每次面试的时候,面试官都会在最后给面试者一些时间,来问问题。这是个非常好的机会,能按照自己的思路,来了解职位、技术、企业文化、福利待遇、企业状况和前景等情况,以弥补前面面试过程中没有…

2026/7/5 3:53:08 阅读更多 →
零基础!IntelliJ IDEA + CC GUI + 智谱AI 配置全记录

零基础!IntelliJ IDEA + CC GUI + 智谱AI 配置全记录

一、背景与目标 目标:在 IntelliJ IDEA 中使用 Claude Code 风格的 AI 编程助手,且希望免费、稳定、合规。 最终方案:IntelliJ IDEA CC GUI 插件 cc-switch 工具 智谱AI GLM 免费模型。 二、完整过程与遇到的问题 阶段 1:想…

2026/7/5 3:51:07 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻