Solution1:我的答案
class Same {
public:
bool checkSam(string stringA, string stringB) {
// write code here
sort(stringA.begin(),stringA.end());
sort(stringB.begin(),stringB.end());
int res = stringA.compare(stringB);
if(res == 0)
return true;
else
return false;
}
};
Solution2:利用哈希表
参考网址:https://www.nowcoder.com/profile/605646/codeBookDetail?submissionId=12712570
class Same {
public:
bool checkSam(string stringA, string stringB) {
// write code here
if(stringA.empty() || stringB.empty()) return false;
int hashtableA[256]={0};
int hashtableB[256]={0};
for(int i=0;i<stringA.size();i++)
hashtableA[stringA[i]]++;
for(int i=0;i<stringB.size();i++)
hashtableB[stringB[i]]++;
for(int i=0;i<256;i++)
if(hashtableA[i]!=hashtableB[i])
return false;
return true;
}
};
字符串相似性检查方法
本文介绍了两种用于检查两个字符串是否由相同字符组成的算法。第一种方法是对字符串进行排序后比较,若排序后的字符串相等则认为原字符串由相同的字符组成。第二种方法是使用哈希表记录每个字符出现的次数并对比两字符串的哈希表是否一致。

被折叠的 条评论
为什么被折叠?



