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

洛谷 P1305:新二叉树 ← DFS + 字符索引数组 + map

【题目来源】
https://www.luogu.com.cn/problem/P1305

【题目描述】
输入一串二叉树,输出其前序遍历。

【输入格式】
第一行为二叉树的节点数 n。(1≤n≤26)
后面 n 行,第一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点必为根节点。
空节点用 * 表示。

【输出格式】
二叉树的前序遍历。

【输入样例】
6
abc
bdi
cj*
d**
i**
j**

【输出样例】
abdicj

【数据范围】
1≤n≤26

【算法分析】
● 字符可以作为数组下标,这本质上是因为“字符类型”可以被隐式或显式地转换为“整数类型”。​ 在计算机内部,字符是以其对应的整型编码值(如 ASCII 或 Unicode 码点)来存储和处理的。因此,当你使用一个字符作为数组下标时,编译器会自动将其转换为对应的整数,并用这个整数来索引数组。

● 语句 map<char,char> ls,rs; 在代码中提供了一个灵活、安全的键值存储,用于表示二叉树中每个节点到其左右孩子节点的映射关系。相比固定大小的数组,它避免了因字符 ASCII 码范围不确定而可能导致的数组越界问题(详见:https://blog.csdn.net/hnjzsyjyj/article/details/160991953),是处理此类映射问题的更通用、更安全的方案。

【算法代码】

#include<bits/stdc++.h>
using namespace std;map<char,char> ls,rs;
char root;void dfs(char rt) {if(rt=='*') return;cout<<rt;dfs(ls[rt]);dfs(rs[rt]);
}int main() {int n;cin>>n;for(int i=1; i<=n; i++) {char rt,le,ri;cin>>rt>>le>>ri;if(i==1) root=rt;ls[rt]=le;rs[rt]=ri;}dfs(root);return 0;
}/*
in:
6
abc
bdi
cj*
d**
i**
j**out:
abdicj
*/



【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/160515496
https://blog.csdn.net/hnjzsyjyj/article/details/160991953

 

http://www.jsqmd.com/news/798265/

相关文章:

  • Win11Debloat终极教程:如何快速清理Windows 11系统并提升性能80%
  • FSL的eddy矫正参数acqp和index到底怎么设?我用P图软件和实际数据给你讲明白
  • Golang Gin如何获取POST表单参数_Golang Gin表单参数教程【推荐】
  • YOLOv11 改进 - 检测头 DetectDeepDBB 基于深度多样分支块的检测头:优化特征提取流程,改善多尺度目标检测
  • 告别命令行:用Python脚本封装you-get,实现B站/抖音视频一键下载与自动合并
  • 如果在Dev-C++中配置TDM-GCC失败怎么办
  • 完全掌握TlbbGmTool:天龙八部单机版GM工具的3个核心技巧与进阶实战指南
  • Matlab repelem函数进阶玩法:从向量到多维数组,看这一篇就够了
  • 【C++学习之路02】|初识类:从定义到成员,C++类的基础语法梳理(上)
  • 第一篇博客!!!
  • 2026杭州西服定制店评测报告:工艺与性价比深度解析 - 西装爱好者
  • 免费在线去水印软件怎么选?2026年无广告去水印工具全面推荐 - 科技热点发布
  • 5分钟快速上手Efficient-KAN:高效Kolmogorov-Arnold神经网络实战指南
  • GENIVI DLT Viewer不止看日志:挖掘QT版客户端的隐藏插件与高级过滤技巧
  • 大湾区企业如何破解“品牌失语”,在AI时代夺回定义权?
  • 【AI】FastFolders.exe v5..14.2 许可分析
  • 到北京找陪诊,这家陪诊公司一定要知道 - 品牌排行榜单
  • 前端工程化:Git工作流最佳实践
  • LogExpert终极指南:Windows平台最强日志分析工具,轻松处理GB级日志文件
  • LeagueAkari英雄联盟自动化工具终极使用指南:本地化智能助手全面解析
  • HyperCeiler下载最新版
  • YOLOv11 改进 - 损失函数 Shape-IoU:形状感知交并比损失函数通过动态调整权重增强尺度适应性,优化不规则目标准确定位
  • 新手也能懂:用OllyDBG给exe程序“换句话”的保姆级图文教程
  • 芯片签核必知:SPEF文件里那些‘天书’一样的符号,到底在说什么?(附StarRC实例解析)
  • 抖音图片怎样去水印?2026 实测去水印方法与在线工具对比指南 - 科技热点发布
  • YOLOv11 改进 - 检测头 Detect_LSCD轻量共享卷积检测头:轻量化设计破解计算瓶颈,增强复杂场景目标感知能力
  • 全国重要的烟花爆竹生产基地
  • 组件库设计与开发:打造可复用的组件生态
  • 当Agent接入物联网:智能家居的终极形态畅想
  • 专业日志分析工具深度解析:LogExpert提升工作效率的7大实战技巧