字符串置换 -LintCode
2017-09-16 09:39
302 查看
给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。
置换的意思是,通过改变顺序可以使得两个字符串相等
样例:
“abc” 为 “cba” 的置换。
“aabc” 不是 “abcc” 的置换。
置换的意思是,通过改变顺序可以使得两个字符串相等
样例:
“abc” 为 “cba” 的置换。
“aabc” 不是 “abcc” 的置换。
#ifndef C211_H #define C211_H #include<iostream> #include<string> #include<map> using namespace std; class Solution { public: /* * @param A: a string * @param B: a string * @return: a boolean */ bool Permutation(string &A, string &B) { // write your code here if (A.empty() || B.empty()) { if (A.empty() && B.empty()) return true; else return false; } if (A.size() != B.size()) return false; map<char, int> m; for (int i = 0; i < A.size(); ++i) m[A[i]]++; for (int j = 0; j < B.size(); ++j) m[B[j]]--; for (int k = 0; k < m.size(); ++k) { if (m[k] != 0) { return false; break; } } return true; } }; #endif
相关文章推荐
- LintCode-[容易] 211. 字符串置换
- LintCode:字符串置换211
- LintCode之字符串置换
- LintCode 字符串置换 JAVA
- LintCode-8.旋转字符串
- Lintcode:旋转字符串
- LintCode 交叉字符串
- LintCode 13 字符串查找
- lintcode interleaving-string 交叉字符串
- LintCode 13. 字符串查找
- LINTCODE——重复字符串
- LintCode解题记录17.8.9 字符串处理5
- LintCode(3):翻转字符串
- 日常练习:lintcode 8:旋转字符串
- 日常练习:lintcode 53. 翻转字符串
- lintcode-55-比较字符串
- lintcode-29交叉字符串
- lintcode :同构字符串
- lintcode 中等题:interleaving String 交叉字符串
- LintCode C++代码旋转字符串