✨欢迎来到脑子不好的小菜鸟的文章✨
🎈创作不易,麻烦点点赞哦🎈
所属专栏:刷题
我的主页:脑子不好的小菜鸟
文章特点:关键点和步骤讲解放在
代码相应位置
前提:
看本文章之前,建议先看看这篇对哈希算法的讲解哦,可能事半功倍哦~
传送门:常见的三种哈希结构(数组,set,map)-CSDN博客
题目链接:
AC代码:
bool isAnagram(char* s, char* t)
{
int hash[26]={0};
int len1=strlen(s),len2=strlen(t);
if(len1!=len2)
return false;
for(int i=0;i<len1;i++)
{
hash[s[i]-'a']++;/*将该数的位置的值加1*/
}
for(int i=0;i<len1;i++)
{
hash[t[i]-'a']--;/*将该数的位置的值减1*/
}
for(int i=0;i<26;i++)
{
if(hash[i]!=0)/*若最后有位置不为1,则该数在两个字符串中出现的次数不一样*/
return false;
}
return true;
}
最后祝大家题题AC,只盼做个WA梦 ~