九度OJ1184二叉树
2024-10-12 17:48:18
- 题目描述:
-
编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。
例如如下的先序遍历字符串:
ABC##DE#G##F###
其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。
- 输入:
-
输入包括1行字符串,长度不超过100。
- 输出:
-
可能有多组测试数据,对于每组数据,
输出将输入字符串建立二叉树后中序遍历的序列,每个字符后面都有一个空格。
每个输出结果占一行。
- 样例输入:
-
abc##de#g##f###
- 样例输出:
-
c b e g d f a
#include<stdio.h>
#include<stdlib.h>
char cache[];
typedef struct Node
{
char data;
struct Node *lchild,*rchild;
}tree;
tree * root; int cnt;
tree * Build_tree(){
tree * root;
if(cache[cnt++]=='#') root=NULL;
else{
root=(tree *)malloc(sizeof(tree));
root->data = cache[cnt-];
root->lchild = Build_tree();
root->rchild = Build_tree();
}
return root;
}
void in_order(tree *root){
if(root!=NULL){
in_order(root->lchild);
printf("%c ",root->data);
in_order(root->rchild);
}
}
int main(){
while(~scanf("%s",cache)){
cnt=;
root=Build_tree();
in_order(root);
}
}
最新文章
- 2016 ICPC青岛站---k题 Finding Hotels(K-D树)
- 未能加载文件或程序集“System.Web.DataVisualization...”
- 【python】3.x,string与bytes的区别(文本,二进制数据)
- 单位换算(格式化十进制数-B),获取时间工具类CommenUtil
- 仿php的日期函数,asp时间处理函数
- linux 进程间信号量管理程序之sem_timedwait使用
- VJGUI消息设计-兼谈MFC、QT和信号/槽机制
- 【批处理】IF ERRORLEVER语句顺序注意
- [转]ZooKeeper的学习与应用
- springMVC源码分析--HandlerMethod
- SNOI 2019 字符串
- BZOJ4422 : [Cerc2015]Cow Confinement
- POJ 1733 Parity game(种类并查集)
- 小程序:pages/index/index/出现脚本错误或未正确调用Page()
- Activity与Service数据交互:Binder、bindService的用法
- 用HTML编写阿里云
- 视音频数据处理入门:FLV封装格式解析
- 事件冒泡与捕获&;amp;事件托付
- vue组件级路由钩子函数介绍,及实际应用
- js ie下有效 showModalDialog 、showModelessDialog