leetcode 242有效的字母异位词

题意就是判断两个字符串中的字符是否是相同且位置发生变化的,自己的思路是建立一个哈希表,遍历第一个字符串并将元素填入哈希表中,之后遍历第二个字符串,对每一个字符,如果该字符对应的哈希表中的值为0,则代表两个字符串中某一字符的数目并不相同,于是返回false,如果全部完成判断之后,就代表两个字符串对于的字符都相同,返回true。贴代码

class Solution {
public:
    bool isAnagram(string s, string t) 
    {
        if(s.length()!=t.length())
        return false;
        unordered_map<char,int> good;
        for(int i = 0 ; i < s.length() ; i++)
        {
            good[s[i]]++;
        }
        for(int i = 0 ; i < t.length() ; i++)
        {
            if(good[t[i]] == 0)
            return false;
            else
            good[t[i]]--;
        }
        return true;
    }
};

 

posted @ 2021-03-12 15:35  zhaohhhh  阅读(41)  评论(0)    收藏  举报