剑指offer 2 重建二叉树

本文详细解读了一个程序实现过程中的错误处理,重点在于理解并解决WA(Wrong Answer)问题,以及如何利用给定的输入数据创建有效的二叉树结构。通过分析代码逻辑和输入输出流程,读者将深入理解如何识别和修正程序中的错误,同时学习如何在有限条件下构建二叉树。此教程对于提升编程技巧和理解数据结构应用具有重要意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感觉所有case都过了,但就是WA。到时再看看。

题目已经说了第一行n,(1<=n<=1000), 所以不可能像他书上说的出现“二叉树根结点指针为NULL”的情况吧。

#include<stdio.h>
const int MAXN = 15;
int preorder[MAXN];
int inorder[MAXN];

struct node
{
	int val;
	node *left;
	node *right;
};
int fg = 1;

node * create(int pre_begin,int in_begin, int in_end)
{
	if(fg == 0)
		return NULL;
	node *pa = new node;
	pa->left = NULL;
	pa->right = NULL;
	pa->val= preorder[pre_begin];
	int i,index=-1;
	for(i=in_begin;i<=in_end;i++){
		if(preorder[pre_begin]==inorder[i]){
			index = i;
			break;
		}
	}
	if(index == -1)
		fg = 0;
	if(index == in_begin)
		pa->left = NULL;
	else {
		pa->left = create(pre_begin+1, in_begin, index-1);
	}
	if(index == in_end)
		pa->right = NULL;
	else {
		pa->right = create(pre_begin+index-in_begin+1, index+1, in_end);
	}
	return pa;
}

void print(node *root)
{
	if(root != NULL){
		if(root->left!=NULL)
			print(root->left);
		if(root->right!=NULL)
			print(root->right);
		printf("%d ",root->val);
	}
	
	

}

int main()
{
	int n,i,j;
	struct node* root;
	root= new node;
	freopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r",stdin);

	while(scanf("%d",&n)!=EOF){
		for(i=0;i<n;i++)
			scanf("%d",&preorder[i]);
		for(j=0;j<n;j++)
			scanf("%d",&inorder[j]);
		root = create(0, 0, n-1);
		if(fg == 1){
			print(root);

		} else {
			printf("No");
		}
		printf("\n");
	}
	
	return 0;



}


 

资源下载链接为: https://pan.quark.cn/s/9e7ef05254f8 DAO Jet 数据库引擎是微软早期开发的用于操作 Access 数据库的组件,与 Jet 引擎紧密相连。Jet 引擎是 Windows 操作系统内置的数据库管理系统,主要支持 Access 数据库及其他使用 Jet 数据存储格式的应用程序。DAO(数据访问对象)是与 Jet 引擎搭配的数据访问接口,能让程序员利用对象和方法操作数据库。当出现“无法初始化 DAO/Jet 数据库引擎”的问题时,通常是由于 DAO 或 Jet 引擎组件损坏、丢失或版本不兼容引起的,这可能是系统更新、病毒入侵、卸载不当或其他软件冲突所致。解决办法之一是从 VC6 光盘中提取相关文件重新安装 DAO Jet 数据库引擎。DAO 接口包含多种类和接口,如 Database、Recordset、Field 等,开发者可借助这些对象执行 SQL 查询、创建和修改表、索引及查询等操作。与 ADO(ActiveX 数据对象)相比,DAO 功能稍弱,但因更贴近底层的 Jet 引擎,在处理 Access 特定特性时可能更便捷。安装 DAO Jet 数据库引擎一般包括以下步骤:下载包含所有必要 DAO 组件的 DAO-REDIST 文件;运行安装程序,按向导提示操作;安装时系统会自动检测并修复 DAO 组件问题或安装缺失组件;安装完成后,可能需重启计算机使更改生效;之后可通过编写简单 VBA 代码测试数据库连接,验证 DAO 是否正常工作。需注意,DAO Jet 数据库引擎主要适用于旧系统和应用程序,新版本的 Microsoft Office 和 Windows 操作系统不再推荐使用 DAO,而是更倾向于采用 ADO 接口以及 SQL Server Express 等更安全、更强大的数据库管理系统。不过,对于依赖 DAO 技
资源下载链接为: https://pan.quark.cn/s/f989b9092fc5 《CarPlay 认证指南》2019 年 2 月版 目录 引言………………………………………………………………………3 MFi CarPlay 认证门户…………………………………………………4 CarPlay 配置记录…………………………………………………7 认证时间表…………………………………………………8 提交 CarPlay 认证的材料…………………………………………………9 CarPlay 集成设计文件…………………………………………………10 无线性能与共存测试计划…………………………………………………11 USB 信号完整性测试结果…………………………………………………12 USB 性能测试结果…………………………………………………14 无线性能测试结果…………………………………………………15 Wi-Fi 联盟认证…………………………………………………16 例外请求…………………………………………………17 定位功能测试结果…………………………………………………19 定位路测…………………………………………………20 无线路测结果…………………………………………………21 ITU-T 电话音频质量测试结果…………………………………………………23 Siri 音频质量测试结果…………………………………………………24 配件认证助手测试结果及自我认证表…………………………………………………25 配件认证助手…………………………………………………25 自我认证表…………………………………………………25 功能测试结果与测试台…………………………………………………26 功能测试结果…………………………………………………26 测试台…………………………………………………26 发货测
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值