- /*
- *Copyright(c)2017,烟台大学计算机学院
- *All right reserved.
- *文件名:sk.cpp btree.h btree.cpp
- *作者:盛凯
- *完成日期:2017年11月9日
- *版本号:v1.0
- *
- *问题描述:输出二叉树b的叶子节点个数
- *输入描述:无
- *程序输出:见运行结果
- */
- sk.cpp:
-
#include <stdio.h>
#include "btree.h"
int LeafNodes(BTNode *b) //求二叉树b的叶子节点个数
{
int num1,num2;
if (b==NULL)
return 0;
else if (b->lchild==NULL && b->rchild==NULL)
return 1;
else
{
num1=LeafNodes(b->lchild);
num2=LeafNodes(b->rchild);
return (num1+num2);
}
}
int main()
{
BTNode *b;
CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))");
printf("二叉树b的叶子节点个数: %d\n",LeafNodes(b));
DestroyBTNode(b);
return 0;
}
-
- 反思:层层递归,将叶子节点个数层层返回并想加。
第九周项目3(3)- 求二叉树b的叶子节点个数
最新推荐文章于 2024-11-29 18:06:41 发布
本文介绍了一个简单的C语言程序,该程序通过递归方式计算给定二叉树的叶子节点数量。程序首先创建一棵特定结构的二叉树,然后调用递归函数计算并输出叶子节点的数量。
- 求二叉树b的叶子节点个数&spm=1001.2101.3001.5002&articleId=78486929&d=1&t=3&u=b1cc565fa966454186a203daf3328ae8)
1441

被折叠的 条评论
为什么被折叠?



