1.给前序中序来还原二叉树 求出深度
#include <stdio.h>
#include <stdlib.h>
char str1[51] ,str2[51];
int main()
{
int m;
scanf("%d",&m);
scanf("%s",str1);
scanf("%s",str2);
int res=dnf(str1,str2,m);
printf("%d",res);
return 0;
}
int dnf(char a[],char b[],int m){
if(m==0){
return 0;
}
int i=0;
for(i=0;i<m;i++){
if(b[i]==a[0]){
//找到根节点了
break;
}
}
int leftTree = dnf(a+1,b,i)+1;
int rightTree = dnf(a+i+1,b+i+1,m-i-1)+1;
return leftTree>rightTree?leftTree:rightTree;
}
待续…以后会继续更新题