本文介绍: 刷题,哈希

 

 ✨欢迎来到脑子不好的小菜鸟的文章✨

      🎈创作不易,麻烦点点赞哦🎈

          所属专栏:刷题   

          我的主页:脑子不好的小菜鸟

          文章特点:关键点和步骤讲解放在

          代码相应位置

 前提:

看本文章之前,建议先看看这篇对哈希算法的讲解哦,可能事半功倍哦~

传送门:常见的三种哈希结构(数组,set,map)-CSDN博客

题目链接:

 242. 有效的字母异位词 – 力扣(LeetCode)

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梦 ~

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注