87. Scramble String
一、题目
1、审题
2、分析
给出两个字符串,以上述二叉树方法进行拆分、组合。判断两个字符串是否是同一个二叉树拆分、组合而成。
二、解答
1、思路:
①、判断两个字符串中所含字符是否全部相同。
②、递归判断两个字符串是否满足旋转后相等。
public boolean isScramble(String s1, String s2) { if(s1.equals(s2)) return true; int len = s1.length(); int[] count = new int[26]; for (int i = 0; i < len; i++) { count[s1.charAt(i) - 'a']++; count[s2.charAt(i) - 'a']--; } for (int i = 0; i < 26; i++) { if(count[i] != 0) return false; } for (int i = 1; i < len; i++) { if( isScramble(s1.substring(0,i), s2.substring(0,i)) && isScramble(s1.substring(i), s2.substring(i))) return true; if( isScramble(s1.substring(0,i), s2.substring(len-i)) && isScramble(s1.substring(i), s2.substring(0,len-i))) return true; } return false; }