问题描述
- 知道二叉树的后序遍历和中序遍历求深度的代码那有错?
-
#include
#include
#include
char zhongxu[100];
char houxu[100];
struct node
{
char data;
struct node *l,*r;
}*T,*TT;
int treedepth(struct node *TT)
{
int i,j;
if(!TT) return 0;
i=treedepth(TT->l);
j=treedepth(TT->r);
return i>j?i+1:j+1;
}
struct node * creattree(char *zs,char *hs,int l)
{
//struct node *T;
T=(struct node *)malloc(sizeof(struct node));
if(l==0) return 0;
T->data=hs[l-1];
// printf("%cn",T->data);
int i=0;
for(;i<=l-1;i++)
{
if(zs[i]==hs[l-1]) break;
}
T->l=creattree(zs,hs,i);
T->r=creattree(zs+i+1,hs+i,l-i-1);
return T;}
int main()
{
int t,len;
scanf("%d",&t);
while(t--)
{
struct node *TT;
scanf("%s%s",zhongxu,houxu);
len=strlen(zhongxu);
TT=creattree(zhongxu,houxu,len);
printf("%dn",treedepth(TT));
zhongxu[0]='';
houxu[0]='';
}
}
解决方案
http://blog.csdn.net/zhaojinjia/article/details/9314989
解决方案二:
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
时间: 2024-09-14 15:06:51