二叉树按照二叉链表方式存储,编写程序,计算二叉树中叶子结点的数目。 |
按先序输入二叉树各结点,其中#表示取消建立子树结点。 |
输出二叉树中叶子节点的数目。 |
ABD##EH###CF#I##G## |
4 |
#include <iostream>
#include <stdlib.h>
#include <cstdio>
#define DataType char
using namespace std;
typedef struct BinTreeNode
{
char data;
struct BinTreeNode *lchild;
struct BinTreeNode *rchild;
}BinTree, *PBinTree;
PBinTree CreateBinTree()
{
PBinTree root = (PBinTree)malloc(sizeof(BinTree));
char c = getchar();
if(c == '#')
return NULL;
else
{
root->data = c;
root->lchild = CreateBinTree();
root->rchild = CreateBinTree();