题目描述:

编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。
例如如下的先序遍历字符串:
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);
}
}

最新文章

  1. 2016 ICPC青岛站---k题 Finding Hotels(K-D树)
  2. 未能加载文件或程序集“System.Web.DataVisualization...”
  3. 【python】3.x,string与bytes的区别(文本,二进制数据)
  4. 单位换算(格式化十进制数-B),获取时间工具类CommenUtil
  5. 仿php的日期函数,asp时间处理函数
  6. linux 进程间信号量管理程序之sem_timedwait使用
  7. VJGUI消息设计-兼谈MFC、QT和信号/槽机制
  8. 【批处理】IF ERRORLEVER语句顺序注意
  9. [转]ZooKeeper的学习与应用
  10. springMVC源码分析--HandlerMethod
  11. SNOI 2019 字符串
  12. BZOJ4422 : [Cerc2015]Cow Confinement
  13. POJ 1733 Parity game(种类并查集)
  14. 小程序:pages/index/index/出现脚本错误或未正确调用Page()
  15. Activity与Service数据交互:Binder、bindService的用法
  16. 用HTML编写阿里云
  17. 视音频数据处理入门:FLV封装格式解析
  18. 事件冒泡与捕获&amp;amp;事件托付
  19. vue组件级路由钩子函数介绍,及实际应用
  20. js ie下有效 showModalDialog 、showModelessDialog

热门文章

  1. 一个仿 github for windows 及 windows 8 的进度条
  2. 05---JSON学习(Java)
  3. Python源码剖析
  4. 如何将java代码生成一个bat文件
  5. 业界最有价值的 ASP.NET 博文汇总
  6. C#总结2
  7. JMS简介
  8. .Net 两个对像之间的映射
  9. js限制文本框只能输入数字
  10. Less入门学习总结