#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
struct Node{
Node *rchild;
Node *lchild;
char data;
};
Node *create(Node *bt)
{
char c;
cin>>c;
if(c=='#')
bt==NULL;
else{
bt= new Node;
bt->data=c;
bt->lchild=create(bt->lchild);
bt->rchild=create(bt->rchild);
}
return bt;
}
int height(Node *bt)
{
int hl,hr,depth;
if(bt==NULL)
return 0;
else{
hl=height(bt->lchild);
hr=height(bt->rchild);
depth=hl>hr?hl:hr;
return depth+1;
}
}
int main()
{
Node *bt;
bt=create(bt);
cout << height(bt) <<endl;
return 0;
}
测试:12#3##4##
输出:3