PTA数据结构与算法题目集(中文)  7-23

7-23 还原二叉树 (25 分)
 

给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。

输入格式:

输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。

输出格式:

输出为一个整数,即该二叉树的高度。

输入样例:

9
ABDFGHIEC
FDHGIBEAC

输出样例:

5
题目分析:利用前序遍历与中序遍历 计算树的高度 利用前序遍历找树节点 然后在中序遍历中限制范围
这个我写的最后一个测试点无法通过
 #define _CRT_SECURE_NO_WARNINGS
#include<stdio.h> int Find(char c, char str[], int Begin,int End)
{
for (int i = Begin; i < End; i++)
{
if (c == str[i])
return i;
}
return -;
} int GetHeight(char str1[], char str2[], int Length)
{
int Height = ;
int Begin = ;
int Flag = ;
int End = Length;
int i = Find(str1[Flag], str2, Begin, End);
if (i == -)
return Height;
Height++;
while ()
{
if (End - Begin <= )
return Height;
if (i - Begin >=End - i-)
{
End = i;
Flag++;
}
else
{
Flag += i - Begin + ;
Begin = i + ;
}
i = Find(str1[Flag], str2, Begin, End);
if (i == -)
return Height;
Height++;
}
} int main()
{
char str1[];
char str2[];
int N;
scanf("%d", &N);
scanf("%s%s", str1,str2);
printf("%d", GetHeight(str1, str2, N));
return ;
}

看了别人写的

 #define _CRT_SECURE_NO_WARNINGS
#include<stdio.h> int DFS(char str1[], char str2[], int n)
{
if (n == )
return ;
int i = ;
for (i = ; i < n && str1[] != str2[i]; i++)
;
int x = DFS(str1 + , str2, i)+; //左子树
int y = DFS(str1 + i + , str2 + i+, n - i-)+; //右子树
return x > y ? x : y;
}
int main()
{
char str1[];
char str2[];
int N;
scanf("%d", &N);
scanf("%s%s", str1,str2);
printf("%d", DFS(str1, str2, N));
return ;
}

PTA数据结构与算法题目集(中文) 7-23的更多相关文章

  1. PTA数据结构与算法题目集(中文) 7-43字符串关键字的散列映射 (25 分)

    PTA数据结构与算法题目集(中文)  7-43字符串关键字的散列映射 (25 分) 7-43 字符串关键字的散列映射 (25 分)   给定一系列由大写英文字母组成的字符串关键字和素数P,用移位法定义 ...

  2. PTA数据结构与算法题目集(中文) 7-42整型关键字的散列映射 (25 分)

    PTA数据结构与算法题目集(中文)  7-42整型关键字的散列映射 (25 分) 7-42 整型关键字的散列映射 (25 分)   给定一系列整型关键字和素数P,用除留余数法定义的散列函数将关键字映射 ...

  3. PTA数据结构与算法题目集(中文) 7-41PAT排名汇总 (25 分)

    PTA数据结构与算法题目集(中文)  7-41PAT排名汇总 (25 分) 7-41 PAT排名汇总 (25 分)   计算机程序设计能力考试(Programming Ability Test,简称P ...

  4. PTA数据结构与算法题目集(中文) 7-40奥运排行榜 (25 分)

    PTA数据结构与算法题目集(中文)  7-40奥运排行榜 (25 分) 7-40 奥运排行榜 (25 分)   每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同.比如 ...

  5. PTA数据结构与算法题目集(中文) 7-39魔法优惠券 (25 分)

    PTA数据结构与算法题目集(中文)  7-39魔法优惠券 (25 分) 7-39 魔法优惠券 (25 分)   在火星上有个魔法商店,提供魔法优惠券.每个优惠劵上印有一个整数面值K,表示若你在购买某商 ...

  6. PTA数据结构与算法题目集(中文) 7-38寻找大富翁 (25 分)

    PTA数据结构与算法题目集(中文)  7-38寻找大富翁 (25 分) 7-38 寻找大富翁 (25 分)   胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人.假 ...

  7. PTA数据结构与算法题目集(中文) 7-37 模拟EXCEL排序 (25 分)

    PTA数据结构与算法题目集(中文)  7-37 模拟EXCEL排序 (25 分) 7-37 模拟EXCEL排序 (25 分)   Excel可以对一组纪录按任意指定列排序.现请编写程序实现类似功能. ...

  8. PTA数据结构与算法题目集(中文) 7-36 社交网络图中结点的“重要性”计算 (30 分)

    PTA数据结构与算法题目集(中文)  7-36 社交网络图中结点的“重要性”计算 (30 分) 7-36 社交网络图中结点的“重要性”计算 (30 分)   在社交网络中,个人或单位(结点)之间通过某 ...

  9. PTA数据结构与算法题目集(中文) 7-35 城市间紧急救援 (25 分)

    PTA数据结构与算法题目集(中文)  7-35 城市间紧急救援 (25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市 ...

  10. PTA数据结构与算法题目集(中文) 7-34

    PTA数据结构与算法题目集(中文)  7-34 7-34 任务调度的合理性 (25 分)   假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行.“ ...

随机推荐

  1. Linux监控系统相关资源和运行状态命令整理

    #前言:Linux系统自带了些实时查看监控系统运行状态的相关命令,接下来我们就来了解一下. #首先我们先来了解一下什么是进程 #进程:是Linux用来表示正在运行的程序的一种抽象概念,Linux系统上 ...

  2. [BlueZ] 3、使用 meshctl 连接控制一个 sig mesh 灯

    目录 前言 1.准备工作 2.meshctl 连接.配置.控制 sig mesh 灯 3.最终效果: LINKS 前言 本文介绍如何使用 meshctl 配对.连接.控制一个 sig mesh 球泡灯 ...

  3. 使用VS2017进行Python代码的编写并打印出九九乘法表

    我们来盘一盘怎么使用VS2017进行python代码的编写并打印出九九乘法表. 使用Visual Studio 2017进行Python编程不需要太复杂的工作,只需要vs2017安装好对Python的 ...

  4. PPP协议(简述)

    PPP协议(链路层协议):用于点对点信道.互联网用户通常需要连接到某个ISP(运营商)之后才能接入到互联网,PPP协议是用户计算机和ISP(运营商)进行通信时所使用的数据链路层协议.该协议可支持同一时 ...

  5. Linux - top命令监控列表的详细解析

    统计信息区(系统资源信息区) 前五行,即列表上方的五行 第一行:输出系统任务队列信息 18:46:38:系统当前时间 up 2days 1:54:系统开机后到现在的总运行时间 1 user:当前登录用 ...

  6. 042.集群网络-flannel及calico

    一 Flannel组件 1.1 flannel介绍 Kubernetes的网络模型假定了所有Pod都在一个可以直接连通的扁平网络空间中.若需要实现这个网络假设,需要实现不同节点上的Docker容器之间 ...

  7. 理解Raft协议

    目录 1.Paxos算法存在的问题 2.Raft算法     2.1 复制状态机     2.2. Raft算法     2.2.1 安全性问题     2.2.2 Leader选举     2.2. ...

  8. 【5min+】更好的选项实践。.Net Core中的IOptions

    系列介绍 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net ...

  9. django复习 以及源码

    django请求生命周期 在浏览器上输入网址会发生什么事?(地址会朝我对应的ip地址发送get请求,get请求遵循http协议)先进入实现了wsgi协议的web服务器---->进入django- ...

  10. 洛谷1378 油滴扩展 dfs进行回溯搜索

    题目链接:https://www.luogu.com.cn/problem/P1378 题目中给出矩形的长宽和一些点,可以在每个点放油滴,油滴会扩展,直到触碰到矩形的周边或者其他油滴的边缘,求出剩余面 ...