scramble string

 1 class Solution {
 2 public:
 3 bool isScramble(string s1, string s2) {
 4         // Start typing your Java solution below
 5         // DO NOT write main() function
 6         string m = s1;
 7         string n = s2;
 8         sort(m.begin(),m.end());
 9         sort(n.begin(),n.end());
10         if( m!= n ) return false;
11         
12         if(s1==s2) return true;
13         for(int split = 1; split < s1.length(); split++){
14            string s11 = s1.substr(0, split);
15            string s12 = s1.substr(split);
16            
17            string s21 = s2.substr(0, split);
18            string s22 = s2.substr(split);
19            if(isScramble(s11, s21) && isScramble(s12, s22)) return true;
20            
21            s21 = s2.substr(0, s2.length() - split);
22            s22 = s2.substr(s2.length() - split);
23            if(isScramble(s11, s22) && isScramble(s12, s21)) return true;
24        }
25        return false;
26     }
27 };

 

posted on 2013-09-08 13:46  jumping_grass  阅读(158)  评论(0)    收藏  举报

导航