题目一:一个字符串可以分解成多种二叉树结构,判断是否互为旋变串
过滤器:字符种类一样,每种字符的个数一样
str1选[L1……] K段
str2选[L2……] K段
判断是否是旋变串
可能性分类:
str1 : a1a2a3a4a5
str2: b1b2b3b4b5
K = 1 时候,判断是否相等
K=5,第一种切法: a1做左部分,a2-a5做右部分
a1和b1 && a2-a5 和 b2 - b5
a1和b5 && a2-a5 和 b1 - b4
俩个有一个成立互为旋变串
俩都是false
判断
a1a2 和 b1b2 && a3-a5 和 b3-b5
a1a2 和 b4b5 && a3-a5 和 b1- b3
逐次递归
public static boolean isScramble(String s1, String s2){
if((s1 == null && s2 != null) || (s1 != null && s2 == null)){
return false;
}
if (s1 == null && s2 == null){
return true;
}
if(s1.equals(s2)){
return true;
}
char[] str1 = s1.toCharArray();
char[] str2