题目链接:点击查看
题目描述:
判断两个字符串包含的字符是否完全相同。
输入输出:
输入: s = "anagram", t = "nagaram" 输出: true
输入: s = "rat", t = "car" 输出: false
题解:
我们可以利用哈希表或者数组统计两个数组中每个数字出现的频次,若频次相同,则说明它们包含的字符完全相同。
代码:
bool isAnagram(string s,string t)
{
if(s.length()!=t.length())
{
return false;
}
vector<int>counts(26,0);//创立26个字母的数组(哈希思想) 用来统计每个字符出现的次数
for(int i=0;i<s.length();++i)
{
++counts[s[i]-'a'];
--counts[t[i]-'a'];
}
for(int i=0;i<26;++i)
{
if(counts[i])
{
return false;
}
}
return true;
}