*LeetCode-Scramble String

来源:互联网 发布:无缝贴图软件 编辑:程序博客网 时间:2024/05/16 15:48

以为只要包含的各种字母个数相同就好了 但是有一些情况还是不满足的

不但数字要满足 而且还要满足partition之后可以recursive的满足 见判断条件

还可以用dp 下次研究

public class Solution {    public boolean isScramble(String s1, String s2) {        if ( s1.equals(s2) )            return true;        int len = s1.length();        int [] arr1 = new int [ 26 ];        int [] arr2 = new int [ 26 ];        for ( int i = 0; i < len; i ++ ){            arr1[ s1.charAt(i) - 'a' ] ++;            arr2[ s2.charAt(i) - 'a' ] ++;        }        for ( int i = 0; i < 26; i ++ ){            if ( arr1[ i ] != arr2 [ i ] )                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;    }}


0 0
原创粉丝点击