#include<iostream>
#include<cstdlib>
#include<cmath>
using namespace std;
typedef struct node
{
char 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 isAVL(Tree *&T)
{
if(T!=NULL)
{
int s1=isAVL(T->l);
int s2=isAVL(T->r);
if(fabs(s1-s2)>1)
{
cout<<"no!";
exit(0);
}
return (s1++)>(s2++)?s1:s2;
}
return 0;
}
int main()
{
Tree *T;
Init(T);
isAVL(T);
cout<<"yes!";
return 0;
}
SWUST数据结构--平衡二叉树的判定
最新推荐文章于 2022-01-25 20:48:14 发布