Valid Anagram
Given two strings s and t, write a function to determine if t is an anagram of s.
For example,
s = “anagram”, t = “nagaram”, return true.
s = “rat”, t = “car”, return false.Note:
You may assume the string contains only lowercase alphabets.
use sort
class Solution {
public:
bool isAnagram(string s, string t) {
sort(s.begin(), s.end());
sort(t.begin(), t.end());
return s == t;
}
};
use a hashmap
class Solution {
public:
bool isAnagram(string s, string t) {
unordered_map<char, int> maps;
for(char c : s){
if(maps.find(c) == maps.end()){
maps[c] = 1;
}
else{
maps[c]++;
}
}
for(char c : t){
if(maps.find(c) == maps.end()){
return false;
}
maps[c]--;
if(maps[c] == 0) maps.erase(c);
}
if(maps.size() > 0) return false;
return true;
}
};