[保研/考研机试] KY11 二叉树遍历 清华大学复试上机题 C++实现
题目链接:
二叉树遍历_牛客题霸_牛客网编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。题目来自【牛客题霸】https://www.nowcoder.com/share/jump/437195121692547007478
描述
编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。
输入描述:
输入包括1行字符串,长度不超过100。
输出描述:
可能有多组测试数据,对于每组数据, 输出将输入字符串建立二叉树后中序遍历的序列,每个字符后面都有一个空格。 每个输出结果占一行。
示例1
输入:
abc##de#g##f###
输出:
c b e g d f a
源代码:
#include<iostream>
#include<string>
using namespace std;//例题10.1 二叉树遍历
struct TreeNode {char data;TreeNode* leftChild;TreeNode* rightChild;TreeNode(char c): data(c), leftChild(NULL), rightChild(NULL){}
};TreeNode* Build(int& pos, string str) {char c = str[pos++];if (c == '#') {return NULL;}TreeNode* root = new TreeNode(c);root->leftChild = Build(pos, str);root->rightChild = Build(pos, str);return root;
}void Inorder(TreeNode* root) {if (root == NULL) {return;}Inorder(root->leftChild);cout << root->data << " ";Inorder(root->rightChild);return;
}int main()
{string s;cin >> s;int pos = 0;TreeNode* root = Build(pos, s);Inorder(root);cout << endl;return 0;
}
提交结果:
相关文章:

[保研/考研机试] KY11 二叉树遍历 清华大学复试上机题 C++实现
题目链接: 二叉树遍历_牛客题霸_牛客网编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。题目来自【牛客题霸】https://www.nowcoder.com/share/jump/43719512169254700747…...
【官方中文文档】Mybatis-Spring #简介
简介 什么是 MyBatis-Spring? MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。它将允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的…...

稳定扩散ControlNet v1.1 权威指南
ControlNet 是一种稳定扩散模型,可让你从参考图像中复制构图或人体姿势。 经验丰富的稳定扩散用户知道生成想要的确切成分有多难。图像有点随机。你所能做的就是玩数字游戏:生成大量图像并选择你喜欢的图片。 借助 ControlNet,稳定扩散用户…...

【golang】结构体及其方法的使用(struct)
函数是独立的程序实体。我们可以声明有名字的函数,也可以声明没名字的函数,还可以把它们当做普通的值传来传去。我们能把具有相同签名的函数抽象成独立的函数类型,以作为一组输入、输出(或者说一类逻辑组件)的代表。 …...

【数据结构】-- 排序算法习题总结
排序 时间复杂度 空间复杂度 稳定性 冒泡排序 O(n^2) 优化后O(n) O(1) 稳定 快速排序 最好O(n*logn) 最坏O(n^2) 最好O(logn) 最坏O(n) 不稳定直接插入排序…...
第十章 CUDA流(stream)实战篇
cuda教程目录 第一章 指针篇 第二章 CUDA原理篇 第三章 CUDA编译器环境配置篇 第四章 kernel函数基础篇 第五章 kernel索引(index)篇 第六章 kenel矩阵计算实战篇 第七章 kenel实战强化篇 第八章 CUDA内存应用与性能优化篇 第九章 CUDA原子(atomic)实战篇 第十章 CUDA流(strea…...

如何进行电脑文件夹分类与整理?
本科电脑用了四年,毕业后发现空间很满,但是真正有用的东西仿佛就一点。好像是在学开发的时候,听到一个老师说,根目录不要放太多文件夹,不然就相当于没有根目录了。刚好研究生有了新的台式电脑,开始有规划的…...

kafka-python 消费者消费不到消息
排除步骤1: 使用group_id”consumer_group_id_001“ 和 auto_offset_reset"earliest" from kafka import KafkaConsumerconsumer KafkaConsumer(bootstrap_servers["dev-kafka01.test.xxx.cloud:9092"],enable_auto_commitTrue, auto_commit…...

穿起“新架构”的舞鞋,跳一支金融数字化转型的华尔兹
华尔兹,是男女两位舞者,通过形体的控制,舞步技巧的发挥,完美配合呈现而出的一种舞蹈形式。华尔兹舞姿,如行云流水、潇洒自如、飘逸优美,素有“舞中皇后”的美称。 在跳华尔兹的时候,如果舞者双…...
SpringBoot 常用注解
随着Spring及Spring Boot的发展,基于Java的配置已经慢慢替代了基于xml的配置形式。本篇文章为大家整理和简介Spring Boot中常用的注解及其功能。 SpringBoot注解 SpringBootApplication:开启Spring Boot自动配置的核心注解,相关等同于Configu…...

k8s deployment创建pod流程图
参考 k8s 创建pod和deployment的流程 - SoulChild随笔记...
C++ 逗号运算符
使用逗号运算符是为了把几个表达式放在一起。 整个逗号表达式的值为系列中最后一个表达式的值。 从本质上讲,逗号的作用是将一系列运算按顺序执行。 表达式1, 表达式2求解过程是:先求解表达式 1,再求解表达式 2。整个逗号表达式的值是表达…...
jdbc集成phoneix hbase
为什么使用jdbc集成 需求简单,只是往phoneix存储数据原本项目已经有mysql的mybatis plus集成,如果采用dataSource方式就需要采用多数据源的方式,造成架构复杂化,使用复杂化,并且修改地方过多。 Qualifier("phoe…...

16.遍历二叉树,线索二叉树
目录 一. 遍历二叉树 (1)三种遍历方式 (2)递归遍历算法 (3)非递归遍历算法 (4)层次遍历算法 二. 基于递归遍历算法的二叉树有关算法 (1)二叉树的建立 …...

电商平台按关键字搜索商品淘宝京东拼多多api接口PHP示例
关键词搜索商品接口的作用是通过调用接口来实现在电商平台中进行商品搜索。具体而言,该接口可以提供以下功能和作用: 商品搜索:用户可以通过输入关键词,在电商平台上进行商品搜索。接口可以根据关键词对商品的名称、描述、标签等…...

胖小酱之恰恰是什么
意思是:指所指的事物截然不同,正好相反。 恰恰相反的近义词:事与愿违、适得其反 一、事与愿违 [ sh yǔ yun wi ] 【解释】:事实与愿望相反。指原来打算做的事没能做到。 【出自】:茅盾《子夜》十六:不…...

豪越科技受邀出席2023中国算力大会
2023年8月17日-8月20日,“算汇银川 数创未来”创新中国行走进银川暨2023中国算力大会在银川中关村创新中心召开。政府领导、行业领袖、专家学者、以及大型科技企业负责人齐聚大会现场,围绕算力基础设施建设、创新应用和产业发展成果等方面开展广泛交流与…...
python脚本——批量将word文件转换成多张图片
前提:有时候需要快速查看word文档的内容是否自己需要的,或者就是单纯需要将word文档转换成一张张图片。 思路:word文档直接生成图片比较蛮烦,可能会引起格式变化,就先将word文档转换成PDF,然后将PDF文档转…...

FairyGUI编辑器的弹窗操作【插件】
之前在FairyGUI编辑器菜单扩展中,我使用了App.Alert("复制失败")来提示操作是否成功。这篇则会说一下我们可以使用的弹窗提示,以及做到类似资源发布成功时的“发布成功”飘窗。 打开APP的API脚本,可以看到有很多公开方法ÿ…...

Elasticsearch(十三)搜索---搜索匹配功能④--Constant Score查询、Function Score查询
一、前言 之前我们学习了布尔查询,知道了filter查询只在乎查询条件和文档的匹配程度,但不会根据匹配程度对文档进行打分,而对于must、should这两个布尔查询会对文档进行打分,那如果我想在查询的时候同时不去在乎文档的打分&#…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...