博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CODEVS 1029 遍历问题
阅读量:6083 次
发布时间:2019-06-20

本文共 740 字,大约阅读时间需要 2 分钟。

题目链接:

题意

题目描写叙述 Description

我们都非常熟悉二叉树的前序、中序、后序遍历,在数据结构中常提出这种问题:已知一棵二叉树的前序和中序遍历。求它的后序遍历。对应的,已知一棵二叉树的后序遍历和中序遍历序列你也能求出它的前序遍历。

然而给定一棵二叉树的前序和后序,你却不能确定当中序遍历序列,考虑例如以下图中的几棵二叉树:

全部这些二叉树都有着同样的前序遍历和后序遍历,但中序遍历却不同样。

这里写图片描写叙述

输入描写叙述 Input Description

输入文件共2行,第一行表示该树的前序遍历结果。第二行表示该树的后序遍历结果。

输入的字符集合为{a-z},长度不超过26。

输出描写叙述 Output Description

输出文件仅仅包括一个不超过长整型的整数,表示可能的中序遍历序列的总数。

思路

显然,中序遍历的数量一定和仅仅有一个子节点的节点数目有关。

比方a的唯一子节点是b,那么先序遍历中一定是ab,后序遍历中一定是ba,即相邻且位置相反。
随便画一个二叉树观察就可以明确。
那么。得出的节点数目为n,答案就是2^n。

代码

#include 
#include
#include
#include
#include
using namespace std;const int N = 30;char a[N], b[N];int main(){ cin>>a>>b; int ans = 1; int len = strlen(a); for(int i=1; i
你可能感兴趣的文章
json
查看>>
linux tomcat 用/etc/init.d/tomcat start启动报错
查看>>
高性能javascript学习笔记系列(2)-数据存取
查看>>
Spark之scala
查看>>
JSON使用
查看>>
Java 一些缩写的解释
查看>>
监控HTTP(1)
查看>>
python 操作PostgreSQL
查看>>
POJ1465:Multiple(BFS)
查看>>
使用框架页面的跳转 转
查看>>
php lock_sh共享锁 与 lock_ex排他锁
查看>>
codeigniter 对数据库的常用操作
查看>>
重装win7系统多个方法介绍
查看>>
Python之路
查看>>
IOS 消息推送---服务端.p12证书的生成
查看>>
mysql中将一个数据类型转换成另外的数据类型?mysql中cast函数的使用?
查看>>
URI URL URN
查看>>
获取当前进程的寄存器内容
查看>>
HDU 3642 Get The Treasury (线段树扫描线)
查看>>
AWK
查看>>