242. 有效的字母异位词(排序/哈希表)

242. 有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

class Solution {
public:
    bool isAnagram(string s, string t) {
        unordered_map <char,int> countmap1;
        unordered_map <char,int> countmap2;

        for(char a : s){
            countmap1[a]++;
        }
        for(char b : t){
            countmap2[b]++;
        }

        for(char c:s){
            if(countmap1[c]!=countmap2[c]){
                return false;
            }
        }
        for(char d:t){
            if(countmap1[d]!=countmap2[d]){
                return false;
            }
        }
        return true;

    }
};

字符串排序

class Solution {
public:
    bool isAnagram(string s, string t) {
        if(s.size()!=t.size()){
            return false;
        }
        sort(s.begin(),s.end());
        sort(t.begin(),t.end());
        return s==t;
    }
};

你可能感兴趣的:(散列表,数据结构,算法)