OJ_重建二叉树

题干

  • 已知:二叉树的先序序列和中序序列
  • 求:后序序列
    在这里插入图片描述

C++实现

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string>
using namespace std;

struct TreeNode
{
	char data;
	TreeNode* left;
	TreeNode* right;
};

TreeNode* Rebuild(string preOrder, string inOrder) {
	if (preOrder.size() == 0) {
		return NULL;
	}
	else {
		char rootdata = preOrder[0];//在先序中找到根
		TreeNode* pNew = new TreeNode;
		pNew->data = rootdata;
		int pos = inOrder.find(rootdata);//找到根在中序中的位置
		//preOrder.substr(1,pos)这是左子树的前序
		//inOrder.substr(0,pos)这是左子树的中序
		//preOrder.substr(pos+1,末尾)这是右子树的前序
		//inOrder.substr(pos+1,末尾)这是右子树的中序
		pNew->left = Rebuild(preOrder.substr(1, pos), inOrder.substr(0, pos));
		pNew->right = Rebuild(preOrder.substr(pos + 1), inOrder.substr(pos + 1));
		return pNew;
	}
}

void postOrder(TreeNode* proot) {
	if (proot == NULL) {
		return;
	}
	else {
		postOrder(proot->left);
		postOrder(proot->right);
		printf("%c", proot->data);
	}
}

int main() {
	char preOrder[30];
	char inOrder[30];
	while (scanf("%s%s", preOrder, inOrder) != EOF) {
		TreeNode* proot;
		proot = Rebuild(preOrder, inOrder);
		postOrder(proot);
		printf("\n");
	}
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/419466.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

国科大计算机网络实验 HTTP服务器

UCAS_CN_LAB HTTP服务器实验 实验要求 •实现&#xff1a;使用C语言实现最简单的HTTP服务器 •同时支持HTTP&#xff08;80端口&#xff09;和HTTPS&#xff08;443端口&#xff09; •使用两个线程分别监听各自端口 •只需支持GET方法&#xff0c;解析请求报文&#xff…

数字IC基础:数字集成电路书籍推荐

相关阅读 数字IC基础https://blog.csdn.net/weixin_45791458/category_12365795.html?spm1001.2014.3001.5482 目录 Verilog HDL 《Verilog HDL数字设计与综合(本科教学版)》 (美)萨米尔帕尔尼卡 《Verilog高级数字系统设计技术与实例分析》(美)基肖尔米什拉 《Verilog编…

终结数据混乱!开发者必学的GraphQL秘籍,高效API只需一步

在数字世界中&#xff0c;API就如同城市中的道路&#xff0c;连接着各种服务和数据。然而&#xff0c;传统的API&#xff08;如RESTful&#xff09;虽然功不可没&#xff0c;但随着技术复杂性和需求多样性不断攀升&#xff0c;它们显露出的局限性也呼唤着新的可能出现。此时&am…

四川尚熠电子商务有限公司电商服务领域的佼佼者

在数字化浪潮席卷全球的今天&#xff0c;电子商务已成为推动企业转型升级、拓展市场渠道的重要力量。四川尚熠电子商务有限公司&#xff0c;作为一家专注于抖音电商服务的公司&#xff0c;凭借其独特的服务模式和创新的营销策略&#xff0c;在激烈的市场竞争中脱颖而出&#xf…

Android 获取USB相机支持的分辨率有多少

直接上代码 private fun getCamera() {// 获取系统相机服务val cameraManager requireContext().getSystemService(Context.CAMERA_SERVICE) as? CameraManagerif (cameraManager ! null) {// 在这里进行相机管理器的操作// 获取相机设备的 ID&#xff08;这里假设使用第一个相…

C++:类与对象(1)

创作不易&#xff0c;谢谢支持&#xff01; 一、面向过程和面向对象 1、C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 如我们要实现洗衣服&#xff1a; 2、而C是基于面向对象的&#xff0c;关注的是…

【EI会议征稿通知】第三届仿真设计与计算建模国际学术会议(SDCM 2024)

The 3rd International Conference on Simulation Design and Computational Modeling 第三届仿真设计与计算建模国际学术会议&#xff08;SDCM 2024&#xff09; 第三届仿真设计与计算建模国际会议&#xff08;SDCM 2024&#xff09;将于 4 月 26-28 日在中国重庆召开。第二届…

理解python3中的回调函数

百度百科说&#xff1a;回调函数就是一个通过函数指针调用的函数。如果你把函数的指针&#xff08;地址&#xff09;作为参数传递给另一个函数&#xff0c;当这个指针被用来调用其所指向的函数时&#xff0c;我们就说这是回调函数。回调函数不是由该函数的实现方直接调用&#…

PCIE 4.0 Power Mangement

PCIe总线的电源管理包含了ASPM和软件电源管理两方面的内容&#xff0c;所谓ASPM是指PCIe路在没有系统软件参与的情况下&#xff0c;由PCIe链路自发进行的电源管理方式&#xff1b;而软件电源管理是指PCI-PM机制&#xff08;与PCI总线兼容&#xff09;。 1. Link State Power M…

Python爬虫——Urllib库-1

这几天都在为了蓝桥杯做准备&#xff0c;一直在刷算法题&#xff0c;确实刷算法题的过程是及其的枯燥且枯燥的。于是我还是决定给自己找点成就感出来&#xff0c;那么Python的爬虫就这样开始学习了。 注&#xff1a;文章源于观看尚硅谷爬虫视频后笔记 目录 Urllib库 基本使…

【深蓝学院】移动机器人运动规划--第7章 集群机器人运动规划--笔记

文章目录 0. Contents1. Multi-Agent Path Finding (MAPF)1.1 HCA*1.2 Single-Agent A*1.3 ID1.4 M*1.5 Conflict-Based Search(CBS)1.6 ECBS1.6.1 heuristics1.6.2 Focal Search 2. Velocity Obstacle (VO&#xff0c;速度障碍物)2.1 VO2.2. RVO2.3 ORCA 3. Flocking model&am…

【Leetcode】2369. 检查数组是否存在有效划分

文章目录 题目思路代码结果 题目 题目链接 给你一个下标从 0 开始的整数数组 nums &#xff0c;你必须将数组划分为一个或多个 连续 子数组。 如果获得的这些子数组中每个都能满足下述条件 之一 &#xff0c;则可以称其为数组的一种 有效 划分&#xff1a; 子数组 恰 由 2 个…

C/C++ 迷宫游戏

游戏介绍 这个迷宫探险游戏有以下功能&#xff1a; 探险&#xff1a;选择该选项后&#xff0c;玩家会进入地下迷宫进行探险。在随机事件中&#xff0c;可能会遇到陷阱、发现金币或者什么都没有发生。陷阱会使玩家失去一定的生命值&#xff0c;金币可以增加玩家的金币数量。 休…

ToDesk - macOS 上轻便好用的远程控制

文章目录 官网 https://www.todesk.com个人版&#xff08;免费&#xff09;下载地址&#xff1a; https://www.todesk.com/download.html 支持系统类型 Windows、macOS、Android、iOS、Linux 应用大小为 320MB 左右 使用界面

SpringBoot整合rabbitmq-主题交换机队列(四)

说明&#xff1a;Topic主题交换机它的大致流程是交换机和一个或者多个队列绑定&#xff0c;这个绑定的Routingkey是包含通配符的&#xff0c;满足通配符的队列会接收到消息。 通配符规则&#xff1a; #&#xff1a;匹配一个或多个词 *&#xff1a;匹配一个词 例如&#xff…

2024年工控人职场求生之路

2024年&#xff0c;眼看项目多了活儿忙了 工控工程师们开始上演飞驰人生 不是跑去客户那里调设备 就是在电脑上搭项目做画面搭系统 每天都过热辣滚烫 你说忙吧&#xff0c;每天也就干那些事儿 你说多有成就感呐 我觉得我能有绝对的主导权和话语权 那都是天方夜谭 2024年…

给孩子选台灯什么样的好?2024年最值得购买的护眼台灯推荐

自从孩子上学以后&#xff0c;很多家长就一直给孩子添置各种各样的学习用品&#xff0c;例如专用的学习桌椅、书架&#xff0c;不过随着作业的增多&#xff0c;发现最需要的物品就是一盏好的护眼台灯。然而有些商家为了降低成本&#xff0c;不惜牺牲产品质量&#xff0c;使用没…

没有项目经历,该如何写简历?

没有项目经历&#xff0c;我该如何写简历 一、前言二、挖掘自己三、看现成的项目经验&#xff0c;转化成自己的语言1、硬件方面2、软件方面 四、最后 一、前言 相信有很多刚出来找工作的人会遇到这种情况&#xff0c;因为自身没有项目经历&#xff0c;投了很多的简历都石沉大海…

【详识JAVA语言】逻辑控制

概述 我的曾经&#xff1a; 早上8:00起床--->洗漱--->吃早饭--->上课--->吃午饭--->上课--->运动--->吃完饭--->玩手机--->睡觉 每天的生活貌似都是这么规律&#xff0c;顺序的做着每件事&#xff0c;前途一片渺茫~~~ 直到有一天&#xff1a; 我…

外卖点餐小程序二合一自由切换商业运营版 带完整的搭建教程

“外卖点餐小程序二合一自由切换商业运营版”的源码&#xff0c;是基于当前最流行的移动应用开发框架开发的。它整合了前端展示、后端管理、数据库存储等多个功能模块&#xff0c;为用户提供了一个高效、稳定、易于维护的外卖点餐解决方案。这套源码不仅适用于初创企业快速搭建…