当前位置: 首页 > news >正文

题解:洛谷 P1030 [NOIP 2001 普及组] 求先序排列

【题目来源】

洛谷:[P1030 NOIP 2001 普及组] 求先序排列 - 洛谷

【题目描述】

给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,且二叉树的节点个数 ≤8)。

【输入】

共两行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。

【输出】

共一行一个字符串,表示一棵二叉树的先序。

【输入样例】

BADC
BDCA

【输出样例】

ABCD

【解题思路】

image

【算法标签】

《洛谷 P1030 求先序排列》 #字符串# #树形数据结构# #递归# #深度优先搜索DFS# #NOIP普及组# #2001#

【代码详解】

#include <bits/stdc++.h>
using namespace std;string b;  // 前序遍历序列
string c;  // 中序遍历序列
int n;     // 序列长度// 递归构建二叉树并输出后序遍历
void dfs(string x)
{// 空节点直接返回if (x.size() == 0)return;// 叶子节点直接输出if (x.size() == 1){cout << x;return;}int pos = -1;  // 记录根节点在中序序列中的位置// 从后往前在中序序列中查找当前树的根节点for (int i = n - 1; i >= 0 && pos == -1; i--){for (int j = 0; j < x.size() && pos == -1; j++){if (x[j] == c[i])  // 找到根节点pos = j;}}// 输出根节点(后序遍历的顺序)cout << x[pos];// 递归处理左子树dfs(x.substr(0, pos));// 递归处理右子树dfs(x.substr(pos + 1, x.size() - pos - 1));
}int main()
{// 输入前序和中序遍历序列cin >> b >> c;n = c.size();  // 获取序列长度// 开始递归构建树结构并输出后序遍历dfs(b);return 0;
}

【运行结果】

BADC
BDCA
ABCD
http://www.jsqmd.com/news/391295/

相关文章:

  • WAN2.2文生视频镜像企业级部署:Nginx反向代理+API封装供业务系统调用
  • 2026年口碑好的古筝厂家推荐及选择参考 - 品牌宣传支持者
  • 2026年优秀的展会设计搭建/机器人展会搭建精选供应商推荐口碑排行 - 品牌宣传支持者
  • 一键部署数字人:lite-avatar形象库+OpenAvatarChat联用教程
  • 多模态翻译前瞻:HY-MT1.5-1.8B未来扩展方向预测分析
  • Z-Image-Turbo_Sugar脸部Lora多场景落地:短视频人设打造、AI写真、虚拟偶像设计
  • 实战案例分享:如何用圣女司幼幽-造相Z-Turbo生成精美角色图
  • 2026年靠谱的搪玻璃耙式真空干燥机/真空干燥机高口碑品牌参考选哪家 - 品牌宣传支持者
  • STM32嵌入式系统调用Qwen-Image-Edit-F2P云端API
  • 2026年知名的气膜冰雪乐园/气膜网球馆如何选生产商推荐(精选) - 品牌宣传支持者
  • 丹青识画系统测评:东方美学与AI的完美融合
  • 基于Hunyuan-MT-7B的嵌入式设备多语言语音助手开发
  • 通义千问3-Reranker-0.6B:轻松实现多语言文本排序
  • Youtu-2B是否适合你?低算力环境部署避坑指南
  • MusePublic部署教程:模型权重校验机制与safetensors完整性验证
  • WeKnora参数详解:temperature/top_p/repetition_penalty对答案可靠性影响
  • 保姆级教程:用通义千问3-VL-Reranker-8B搭建智能搜索系统
  • ChatGLM3-6B-128K模型微调全攻略:从数据准备到生产部署
  • QAnything PDF解析模型实战:PDF转Markdown全流程
  • 伏羲天气预报从零开始:复旦FuXi气象大模型本地化部署全流程
  • AIGlasses_for_navigation环境部署:RTX3060+Docker镜像开箱即用指南
  • Qwen3-ASR-1.7B入门必看:Streamlit界面中语种检测组件原理与调优
  • Qwen3-ASR性能测试:不同硬件平台上的推理速度对比
  • 题解:洛谷 P1305 新二叉树
  • 从零开始:用Qwen3-ASR-1.7B制作视频字幕全攻略
  • AI绘图标签太麻烦?LoRA训练助手帮你自动搞定
  • 使用JavaScript实现FireRedASR-AED-L的Web前端交互
  • Nano-Banana创意玩法:让产品拆解变得简单有趣
  • Qwen3-ASR-1.7B实战:一键将MP3/WAV音频转为精准文本
  • Qwen3-Reranker-0.6B实战教程:对接Elasticsearch/Weaviate向量数据库