题目描述
利用先序递归遍历算法创建二叉树并输出该二叉树中指定结点的度。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符“#”时表示该结点不需要创建,否则创建该结点。最后再输出创建完成的二叉树中的指定结点的度。注意输入数据序列中的字符“#”和非“#”字符的序列及个数关系,这会最终决定创建的二叉树的形态。
输入
输入用例分2行输入,第一行接受键盘输入的由大写英文字符和“#”字符构成的一个字符串(用于创建对应的二叉树),第二行为指定的结点数据。
输出
#include<bits/stdc++.h>
using namespace std;
char cmp;
int ans = 0;
struct{
int l, r;
}z[105];
int creat(){
char ch;
cin>>ch;
if(ch=='#') return ch;
z[ch].l = creat();
z[ch].r = creat();
return ch;
}
int main(){
creat();
cin>>cmp;
if(z[cmp].l!='#') ans++;
if(z[cmp].r!='#') ans++;
cout<<ans;
return 0;
}
用一行输出该用例对应的二叉树中指定结点的度。