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.
Anagram:Only change the arrangement of the word, but the variety and number of chars in the word are identical.
Solution 1: #include<algorithm> sort
class Solution {
public:
bool isAnagram(string s, string t) { //runtime:76ms
sort(s.begin(),s.end());
sort(t.begin(),t.end());
return s==t;
}
};
Solution 2: count
class Solution {
public:
bool isAnagram(string s, string t) { //runtime:12ms
vector<int> count(,);
for(int i=;i<s.size();i++)
count[s[i]-'a']++;
for(int i=;i<t.size();i++)
count[t[i]-'a']--;
for(int i=;i<;i++)
if(count[i]!=)
return false;
return true;
}
};