数据结构之二叉树三:统计叶子数
来源:互联网 发布:linux配置ntp时间同步 编辑:程序博客网 时间:2024/06/05 14:36
如果把二叉树的建立中的递归理解透彻了,那么这个题目就非常简单了,只需要加上一个判断条件和一个计数变量即可;
题目如上:
代码如下:
#include <stdio.h>#include <stdlib.h>typedef struct node{ char data; struct node *lchild,*rchild;}node,*nodeptr;char a[55];int i,count;struct node *Creat(struct node *T){ T=(struct node *)malloc(sizeof(struct node)); if(a[i++]==',')T=NULL; else { T->data=a[i-1]; T->lchild=Creat(T->lchild); T->rchild=Creat(T->rchild); } return T;}int Countleaf(struct node *T){ if(T) { if((!T->rchild)&&(!T->lchild)) {//判断是否是叶子节点,利用叶子节点的特点 count++; } Countleaf(T->lchild); Countleaf(T->rchild); } return count;}int main(){ struct node *T; while(~scanf("%s",a)) { T=Creat(T); count=0; i=0; printf("%d\n",Countleaf(T)); } return 0;}
对这个代码不是很理解的可以先理解一下上面这一个二叉树遍历的递归过程,关联的文章
0 0
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- Java7并发编程--5、并发集合
- Editplus从下载到使用
- exec函数族实例解析
- HDU题目分类
- hdu5804(BestCoder Round #86 A)
- 数据结构之二叉树三:统计叶子数
- 世界500强坚决不用的13种人
- 【图像识别】GrabCut的Android实现
- Socket 类
- 【项目】基于TCP/IP的socket编程之心跳机制
- Android_ViewPager左右切换当前的页面
- Lcs(模板)
- 从SVN上检出项目
- 在CentOS中编译FFmpeg for Android静态库(含fdk aac,x264)