描述
给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。
置换的意思是,通过改变顺序可以使得两个字符串相等。
您在真实的面试中是否遇到过这个题?
是
样例
"abc"
为 "cba"
的置换。
"aabc"
不是 "abcc"
的置换。
使用哈希表即可轻松解决问题。
class Solution {
public:
/**
* @param A: a string
* @param B: a string
* @return: a boolean
*/
bool Permutation(string &A, string &B) {
// write your code here
unordered_map<char,int> str1;
for(auto ch:A) str1[ch]++;
unordered_map<char,int> str2;
for(auto ch:B) str2[ch]++;
if(str1==str2) return true;
else return false;
}
};