博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode – Refresh – Scramble String
阅读量:6985 次
发布时间:2019-06-27

本文共 1209 字,大约阅读时间需要 4 分钟。

Notes:

1. Make a array to check whether they have same number of chars (s1[i] - 'a') and (s2[i] - 'a')

2. When finally check, the i start from 1.

3. It is scramble as comparing s1(0, i) with s2(size - i, i) and s1(i) with s2(0, size-i). Kind of symmetry.

 

1 class Solution { 2 public: 3     bool isScramble(string s1, string s2) { 4         if (s1.size() != s2.size()) return false; 5         vector
rec(26, 0); 6 for (int i = 0; i < s1.size(); i++) { 7 rec[s1[i] - 'a']++; 8 rec[s2[i] - 'a']--; 9 }10 for (int i = 0; i < 26; i++) {11 if (rec[i] != 0) return false;12 }13 if (s1.size() == 1 && s2.size() == 1) return true;14 for (int i = 1; i < s1.size(); i++) {15 bool result = isScramble(s1.substr(0, i), s2.substr(0, i)) &&16 isScramble(s1.substr(i), s2.substr(i));17 result |= isScramble(s1.substr(0, i), s2.substr(s2.size()-i, i)) &&18 isScramble(s1.substr(i), s2.substr(0, s2.size()-i));19 if (result) return true;20 }21 return false;22 }23 };

 

转载于:https://www.cnblogs.com/shuashuashua/p/4356847.html

你可能感兴趣的文章
软件工程概论03
查看>>
js截取最后一个斜杠之后的内容
查看>>
Java程序安装失败
查看>>
解决网络请求的依赖关系
查看>>
设计模式(4)建造者模式/生成器模式(Builder)
查看>>
hdu 1036 (I/O routines, fgets, sscanf, %02d, rounding, atoi, strtol) ...
查看>>
开闭原则
查看>>
Silverlight 4常用StringFormat格式总结
查看>>
think in uml-关系
查看>>
androidSDK配置环境变量
查看>>
BZOJ 1003 物流运输 最短路+dp
查看>>
leetcode 63. Unique Paths II
查看>>
在Android Studio进行“简单配置”单元测试(Android Junit)
查看>>
编写测试:VC下获取文件大小的4种方法
查看>>
MongoDB的安装
查看>>
C语言断言
查看>>
纪中模拟赛——接苹果
查看>>
Collections.unmodifiableMap
查看>>
Python中的类(2)
查看>>
常用命令
查看>>