编写计算二叉树中叶子结点数目的算法

编写计算二叉树中叶子结点数目的算法

代码思路:

首先你要知道什么是叶子结点,就是一棵树的某个结点,它下面没有左右子树了,这个就叫叶子结点。知道这个之后,我们只需要一步步从根节点往下遍历,看哪个结点没有左右子树就count+1即可

ps:我们这里选择后序遍历------左右根,你选其他两种遍历方式也可以,毕竟这里只需要统计个数,没有要求你把序列写出来。只要能把一棵树完整遍历到就可以了。

c 复制代码
//二叉树结构体
typedef struct BiTNode
{
    char data;
    struct BiTNode* lchild, * rchild;
}BiTNode, * BiTree;

int count=0;

int leafcount(BiTree T){
	if(T!=NULL){//递归跳出条件
		leafcount(T->lchild);//访问左右孩子
		leafcount(T->rchild);
		if(T->lchild==NULL&&T->rchild==NULL){//该结点无左右子树
			count++;
		}
	}
	return count;
}
相关推荐
Ayanami_Reii12 小时前
进阶数据结构应用-一个简单的整数问题2(Fenwick-Tree 解法)
数据结构·算法·前缀和·差分·树状数组·fenwick tree
老黄编程12 小时前
点云生成深度图的原理及算法步骤和参数详细说明
数学·算法·点云·深度图
老黄编程12 小时前
点云SIFT3D特征点云原理、算法描述及参数详细说明
算法·3d·sift3d
老黄编程12 小时前
3DHarris特征提取算法描述及参数详细说明
数学·算法·几何·3dharris特征提取
报错小能手12 小时前
数据结构 不带头结点的链表
数据结构·链表
fruge12 小时前
技术面试复盘:高频算法题的前端实现思路(防抖、节流、深拷贝等)
前端·算法·面试
希望有朝一日能如愿以偿12 小时前
力扣每日一题:使数组和能被p整除
数据结构·算法·leetcode
zz07232012 小时前
数据结构 —— 图
数据结构
Christo312 小时前
AAAI-2013《Spectral Rotation versus K-Means in Spectral Clustering》
人工智能·算法·机器学习·数据挖掘·kmeans
葵花楹12 小时前
【补题】【atcoderabc434】【codeforces1067】
算法