样例自己测试数据也都没问题,提交全WA,提示read(ACSIL13),前面的题也是。
#include <stdio.h>
#include <string.h>
void dfs(char *s1,char *s2){
int len1=strlen(s1),len2=strlen(s2);
char root=s2[len2-1];
int index=0;
char s1_1[30],s2_1[30],s1_2[30],s2_2[30];
printf("%c",root);
for(int i=0;i<len1;i++){
if(s1[i]==root){
index=i;
}
}
if(index){
strncpy(s1_1,s1,index);
s1_1[index]='\0';
strncpy(s2_1,s2,index);
s2_1[index]='\0';
dfs(s1_1,s2_1);
}
if(len1-index-1){
strncpy(s1_2,s1+index+1,len1-index-1);
s1_2[len1-1-index]='\0';
strncpy(s2_2,s2+index,len1-index-1);
s2_2[len1-1-index]='\0';
dfs(s1_2,s2_2);
}
}
int main(){
char ch1[30],ch2[30];
gets(ch1);
gets(ch2);
dfs(ch1,ch2);
}