一、思路
判断两个单词中字母个数是否相同,当两个单词长度不同时,必然不是。
首先我们建立一个哈希表
m
m
m,来统计
s
s
s中的字母个数,然后遍历
t
t
t,在哈希表
m
m
m中对应位置减1,如果两个单词中字母个数是否相同,那么
m
m
m中的val值最应该全为0。
二、代码
1.python
代码如下:
class Solution:
def isAnagram(self, s, t) :
if len(s) != len(t):
return False
dic = {}
for i in s:
dic[i] = dic.get(i,0)+1
for i in t:
if i not in dic.keys():
return False
else:
dic[i] -= 1
for key,val in dic.items():
if val != 0:
return False
return True
2.C++
class Solution {
public:
bool isAnagram(string s, string t) {
unordered_map<char,int> m;
if(s.length() != t.length()){
return false;
}
for(int i=0;i< s.length();i++){
m[s[i]] += 1;
}
for(int j=0;j<t.length();j++){
m[t[j]] -= 1;
}
for(auto it = m.begin();it != m.end(); it++){
if(it->second != 0 ){
return false;
}
}
return true;
}
};