#include<bits/stdc++.h>
using namespace std;
typedef struct node
{
char data;
struct node *lc,*rc;
} node,*link;
int i,flag;
void creat(link &L)
{
char ch;
scanf("%c",&ch);
i++;
if(i==1&&ch=='0')
{
flag=0;
return ;
}
if(ch=='0')
L=NULL;
else
{
L=new node;
L->data=ch;
creat(L->lc);
creat(L->rc);
}
}
int js(link L)
{
int m,n;
if(!L) return 0;
else
{
m=js(L->lc);
n=js(L->rc);
if(m>n) return (m+1);
else return (n+1);
}
}
int main()
{
while(1)
{
i=0,flag=1;
link L;
creat(L);
if(!flag) break;
printf("%d\n",js(L));
getchar();
}
return 0;
}
基于二叉链表的二叉树高度的计算
最新推荐文章于 2022-11-11 21:52:14 发布