-->
当前位置:首页 > 题库 > 正文内容

程序填空题:计算二叉树中度为1的结点个数

Luz4年前 (2021-05-10)题库4037
统计二叉树度为1的结点个数。

```
#include
using namespace std;
typedef struct BiNode{
char data;
struct BiNode *lchild,*rchild;
}BiTNode,*BiTree;

void CreateBiTree(BiTree &T){
char ch;
cin >> ch;
if(ch=='#') T=NULL;
else{
T=new BiTNode;
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}

int NodeCount ( BiTree T)
{
if(@@[T==NULL](2)) return 0;
if(T->lchild==NULL&&T->rchild!=NULL)
return @@[NodeCount(T->rchild)+1](2);
if(T->lchild!=NULL&&T->rchild==NULL)
return @@[NodeCount(T->lchild)+1](2);
@@[return NodeCount(T->lchild)+NodeCount(T->rchild)](2);
}

int main(){
BiTree T;
CreateBiTree(T);
printf("%d", NodeCount(T));
return 0;
}
```
### 输入样例1:

![QQ截图20191008203316.png](~/a2196290-de17-438a-953b-c47ac3985a36.png)

```in
AB#DF##G##C##
```

### 输出样例1:
1







答案:
第1空:T==NULL

第2空:NodeCount(T->rchild)+1

第3空:NodeCount(T->lchild)+1

第4空:return NodeCount(T->lchild)+NodeCount(T->rchild)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。