标签:哈希 end AC type c代码 改变 details bool esc
原题网址:https://www.lintcode.com/problem/string-permutation/description
给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。
置换的意思是,通过改变顺序可以使得两个字符串相等。
"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
int sizeA=A.size();
int sizeB=B.size();
if (sizeA!=sizeB)
{
return false;
}
map<char,int> m1;
map<char,int> m2;
for (int i=0;i<sizeA;i++)
{
if (m1.find(A[i])!=m1.end())//统计字符数量;
{
m1[A[i]]++;
}
else
{
m1[A[i]]=1;
}
if (m2.find(B[i])!=m2.end())//统计字符数量;
{
m2[B[i]]++;
}
else
{
m2[B[i]]=1;
}
}
for (int i=0;i<sizeA;i++)
{
if (m1[A[i]]!=m2[A[i]])
{
return false;
}
}
return true;
}
};
标签:哈希 end AC type c代码 改变 details bool esc
原文地址:https://www.cnblogs.com/Tang-tangt/p/9190485.html