函数题:统计度为1的结点数
要求实现函数,统计并返回二叉树中的度为1的结点数。二叉树采用二叉链表存储,结点结构如下:
struct BiTNode { // 结点结构
char data; // 结点数据域
BiTNode *lchild, *rchild; // 左、右孩子指针
};
### 函数接口定义:
c++
int CountSingle(BiTNode *T);
其中参数 T是指向二叉树根结点的指针。
### 裁判测试程序样例:
c++
#include<iostream>
#include<string>
using namespace std;
struct BiTNode {
char data;
BiTNode *lchild, *rchild;
};
int CountSingle(BiTNode *T); // 统计并返回度为1的结点数
BiTNode *CreateBiTree(string &s); // 创建二叉树,s存放带虚结点的先序遍历序列
int main() {
string s;
while(cin>>s) {
BiTNode* root=CreateBiTree(s);
cout<<CountSingle(root)<<endl;
}
return 0;
}
### 输入样例:
in
HDA**C*B**GF*E***
-+a**xb**-c**d**/e**f**
### 输出样例:
out
3
0
答案:若无答案欢迎评论
struct BiTNode { // 结点结构
char data; // 结点数据域
BiTNode *lchild, *rchild; // 左、右孩子指针
};
### 函数接口定义:
c++
int CountSingle(BiTNode *T);
其中参数 T是指向二叉树根结点的指针。
### 裁判测试程序样例:
c++
#include<iostream>
#include<string>
using namespace std;
struct BiTNode {
char data;
BiTNode *lchild, *rchild;
};
int CountSingle(BiTNode *T); // 统计并返回度为1的结点数
BiTNode *CreateBiTree(string &s); // 创建二叉树,s存放带虚结点的先序遍历序列
int main() {
string s;
while(cin>>s) {
BiTNode* root=CreateBiTree(s);
cout<<CountSingle(root)<<endl;
}
return 0;
}
### 输入样例:
in
HDA**C*B**GF*E***
-+a**xb**-c**d**/e**f**
### 输出样例:
out
3
0
答案:若无答案欢迎评论