Time Limit: 1000 ms
Memory Limit: 256 mb
建立以二叉链作为存储结构的二叉树,实现 1)先序遍历; 2)中序遍历; 3)后序遍历; 4)层序遍历; 5)编程计算二叉树的叶子结点个数。
输入输出格式
输入描述:
按照先序遍历序列输入二叉树中数据元素的值,没有的输入0表示。
输出描述:
第一行输出先序遍历序列 第二行输出中序遍历序列 第三行输出后序遍历序列 第四行输出叶子结点的个数。
输入输出样例
输入样例#:
复制
A B C 0 0 0 D E 0 F 0 0 G 0 0
输出样例#:
复制
A B C D E F G C B A E F D G C B F E G D A 3
代码如下:
#include <stdio.h>
#include <stdlib.h>
typedef struct BiTNode {
char val;
struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
void createTree(BiTree *T) {//注意
char c;
scanf(" %c",&c);//注意这个空格
if(c=='0'){
*T=NULL;
}else{
*T=(BiTNode*)malloc(sizeof(BiTNode));
(*T)->val=c;
createTree(&(*T)->lchild);
createTree(&(*T)-&