- /*
- *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的叶子节点个数
最新推荐文章于 2023-12-28 21:21:11 发布