題目:
給定兩個字符串 s 和 t 豹障,編寫一個函數(shù)來判斷 t 是否是 s 的一個字母異位詞。
示例 1:
輸入: s = "anagram", t = "nagaram"
輸出: true
示例 2:
輸入: s = "rat", t = "car"
輸出: false
說明:
你可以假設(shè)字符串只包含小寫字母耘斩。
進(jìn)階:
如果輸入字符串包含 unicode 字符怎么辦沼填?你能否調(diào)整你的解法來應(yīng)對這種情況?
分析:
- 1括授,本題和《字符串中的第一個唯一字符》類似:使用HashMap統(tǒng)計個數(shù)坞笙,然后對比兩個HashMap是否一致。```
class Solution {
public:
bool isAnagram(string s, string t) {
if(s.length() != t.length())
return false;
map<char,int> m1;
map<char,int> m2;
for(int i=0;i<s.length();i++){
m1[s[i]]++;
m2[t[i]]++;
}
for(char i='a';i<='z';i++){
if(m1[i] != m2[i])
return false;
}
return true;
}
};
上面代碼在LeetCode上的運行時間為16 ms荚虚。