求二叉树叶子结点数
来源:互联网 发布:学通网络ps序列号 编辑:程序博客网 时间:2024/04/27 20:01
#include<stdio.h>
#include<stdlib.h>
typedef struct TNode{//二叉树结构
char data;//结点的值
TNode *lchild;//左子树
TNode *rchild;//右子树
}*BiTree;
void CreateBiTree(BiTree &T)//中序遍历方式创建二叉树,输入#代表该结点为空
{
char ch;
ch=getchar();
if(ch=='#')
T=NULL;
else//结点非空
{
T=new TNode;
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
int CountLeaf(BiTree T)
{
static int LeafNum=0;//叶子初始数目为0,使用静态变量
if(T)
{
if((!T->lchild)&&(!T->rchild))//为叶子结点
LeafNum++;//叶子数目加1
else //不为叶子结点
{
CountLeaf(T->lchild);//递归统计左子树叶子数目
CountLeaf(T->rchild);//递归统计右子树叶子数目
}
}
return LeafNum;
}
int main()
{
BiTree T;
int leafNum;
printf("请输入中序遍历的二叉树序列(#号代表该结点为空):如(ABC##DE#G##F###)\n");
CreateBiTree(T);
leafNum=CountLeaf(T);
printf("该二叉树的叶子结点数是:%d\n",leafNum);
return 0;
}
#include<stdlib.h>
typedef struct TNode{//二叉树结构
}*BiTree;
void CreateBiTree(BiTree &T)//中序遍历方式创建二叉树,输入#代表该结点为空
{
}
int CountLeaf(BiTree T)
{
}
int main()
{
}
- 求二叉树叶子结点数
- 求二叉树叶子结点的个数
- 【数据结构基础】求二叉树叶子结点
- 求二叉树叶子节点数
- 求二叉树叶子结点的递归实现
- 二叉树叶子数
- 二叉树叶子数
- 二叉树叶子节点数
- 二叉树系列七:求二叉树叶子结点间的最大距离
- 完全二叉树叶子结点的算法
- 完全二叉树叶子结点的算法
- 完全二叉树叶子结点的算法
- 按先序打印二叉树叶子结点
- 《数据结构》问题回答:why100个结点的完全二叉树叶子数为50.
- 二叉树叶子节点比非叶子结点数多1
- 求二叉树叶子节点的个数
- 求二叉树叶子节点的个数
- 计算二叉树叶子结点,加深理解遍历的本质
- 初学者
- 用栈实现数制转换
- (未)poj1915(bfs)
- 先序遍历二叉树
- android找不到图片资源
- 求二叉树叶子结点数
- 先序遍历建立二叉树,求二叉树的高…
- 求二叉树的深度
- Vim 快捷键整理
- Android 安装错误:Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
- 按层次顺序(同一层自左至右)遍历二…
- (反复看)poj3253(huffman)-有优…
- hdoj1002(大数相加)
- 区分Activity的四种加载模式