原题题目
代码实现(首刷大部分看解小部分自解)
bool visit(char* s1,char* s2,int strl)
{
int sum = 0,i;
for(i=0;i<strl;i++)
sum += (s1[i] - s2[i]);
if(sum) return false;
if(strl == 1) return true;
for(i=1;i<strl;i++)
{
if(visit(s1+i,s2+i,strl-i) && visit(s1,s2,i))
return true;
if(visit(s1,s2+strl-i,i) && visit(s1+i,s2,strl-i))
return true;
}
return false;
}
bool isScramble(char * s1, char * s2){
int strl = strlen(s1);
if(strl != strlen(s2)) return false;
return visit(s1,s2,strl);
}