本文主要是介绍1-5 统计二叉树度为1的结点个数 (10 分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本题要求实现一个函数,可统计二叉树中度为1的结点个数。
函数接口定义:
int NodeCount ( BiTree T);
T是二叉树树根指针,函数NodeCount返回二叉树中度为1的结点个数,若树为空,返回0。
裁判测试程序样例:
#include <stdio.h>
#include <stdlib.h>typedef char ElemType;
typedef struct BiTNode
{ElemType data;struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;BiTree Create();/* 细节在此不表 */int NodeCount ( BiTree T);int main()
{BiTree T = Create();printf("%d\n", NodeCount(T));return 0;
}
/* 你的代码将被嵌在这里 */
输出样例(对于图中给出的树):
1
int NodeCount( BiTree T){
if(T==NULL) {return 0;}if(T->lchild==NULL&&T->rchild!=NULL||T->rchild==NULL&&T->lchild!=NULL){return 1+NodeCount(T->lchild)+NodeCount(T->rchild);
}
return NodeCount(T->lchild)+NodeCount(T->rchild);
}
这篇关于1-5 统计二叉树度为1的结点个数 (10 分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!