#include<iostream>
#include<cstdlib>
using namespace std;
int count=0;
typedef struct node
{
int data;
struct node *l,*r;
}Tree;
void Init(Tree *&T)
{
char str;
cin>>str;
if(str!='#')
{
T=(Tree *)malloc(sizeof(Tree));
T->data=str;
Init(T->l);
Init(T->r);
}
else T=NULL;
}
int Dot(Tree *&T)
{
if(T!=NULL)
{
if(T->l==NULL && T->r==NULL)
{
count=count+2;
Dot(T->l);
Dot(T->r);
}
else if(T->l==NULL || T->r==NULL)
{
count++;
Dot(T->l);
Dot(T->r);
}
else{
Dot(T->l);
Dot(T->r);
}
}
return count;
}
int main()
{
Tree *T;
Init(T);
cout<<Dot(T);
return 0;
}
SWUST数据结构--先序遍历创建二叉树的空链域个数
最新推荐文章于 2023-08-31 11:34:50 发布