leetcode【字符串】-----242. Valid Anagram(有效的字母异位词)

1、题目描述

leetcode【字符串】-----242. Valid Anagram(有效的字母异位词)

2、分析

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

        首先确定的是两个字符串长度应该是一样的,否则返回false。这道题也可以使用哈希表来做,建立一个字母和出现次数的哈希表,然后用第二个字符串的每一个字母在哈希表里找,如果字母出现一次,则将出现次数减1,如果出现小于0的情况下,说明第二个字符串里面含有第一个字符串里面没有的元素或者含有的某一个字符比第一个字符串多。

3、代码

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

4、相关知识点

        哈希表的熟悉和使用