1 条题解
- 
  0
搞个题解
`
#include<stdio.h> #include<string.h> char a[10],b[10]; void dfs(int l1,int n1,int l2,int n2) { int i,k=-1; for(i=l1;i<n1;i++) { if(a[i]==b[n2-1]) { printf("%c",a[i]); k=i;//根节点的位置 break; } } if(k>l1)//左子树 dfs(l1,k,l2,k-l1+l2); if(n1>k+1) //右子树 dfs(k+1,n1,k-l1+l2,n2-1); } int main() { scanf("%s",a); scanf("%s",b); int l1=strlen(a); int l2=strlen(b); dfs(0,l1,0,l2); return 0; } 
信息
- ID
 - 651
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 6
 - 标签
 - 递交数
 - 14
 - 已通过
 - 14
 - 上传者