242. 有效的字母异位词
做题思路 or 感想 :
1,这里可以把题目简化为求两个字符串中的各种字符的个数是否相等,想到这个就很简单了
2,如果不是特殊情况,用map的时候尽量用 unorderde_map ,读写效率更高
1 class Solution { 2 public: 3 bool isAnagram(string s, string t) { 4 unordered_map<char, int>HashMap; //建一个表 5 for (int i = 0; i < s.size(); i++) { 6 HashMap[s[i]]++; //对第一个字符串中的字符计数 7 } 8 for (int i = 0; i < t.size(); i++) { 9 HashMap[t[i]]--; //由第二个字符串把前面的计数降低回去 10 } 11 for (auto iter = HashMap.begin(); iter != HashMap.end(); iter++) { 12 if ((*iter).second != 0)return false; //如果计数都为0的话,那么证明第二个字符串刚刚好能把计数给降为0,每个字符的出现次数等于第一个字符串 13 } 14 return true; 15 } 16 };

浙公网安备 33010602011771号