#include<iostream>
using namespace std;
typedef struct BiTNode
{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
int num = 0;
void createTree(BiTree &T)
{
char ch;
cin >> ch;
if(ch == '#')
T=NULL;
else
{
T=new BiTNode;
if(!T)
exit(1);
T->data = ch;
createTree(T->lchild);
createTree(T->rchild);
}
}
int TreeDepth(BiTree &T)
{
int i, j;
if (T==NULL)
return 0;
if (T->lchild->data)
i = TreeDepth(T->lchild);
else
i = 0;
if (T->rchild->data)
j = TreeDepth(T->rchild);
else
j = 0;
return i > j ? i + 1 : j + 1;
}
int main()
{
BiTree T;
createTree(T);
int TT=TreeDepth(T);
cout <<TT<<endl;
return 0;
}
二叉树的深度
最新推荐文章于 2024-10-11 22:44:26 发布