【初級算法】15. 有效的字母異位詞
阿新 • • 發佈:2018-05-03
color isa 算法 pre 返回 bool 一個 () AS
題目:
給定兩個字符串 s 和 t ,編寫一個函數來判斷 t 是否是 s 的一個字母異位詞。 例如, s = "anagram",t = "nagaram",返回 true s = "rat",t = "car",返回 false 註意: 假定字符串只包含小寫字母。 提升難度: 輸入的字符串包含 unicode 字符怎麽辦?你能能否調整你的解法來適應這種情況?
1,解題思路:
本題比較簡單,直接統計兩個字符串中128個字符出現的個數,然後就比較數量是否相等即可。
class Solution { public: bool isAnagram(string s, stringt) { map<char,int> maps; map<char,int> mapt; if(s.size()!=t.size()){ return false; } for(int i = 0;i < s.size();++i){ if(maps.find(s[i])!=maps.end()){ maps[s[i]] += 1; }else{ maps[s[i]]= 1; } if(mapt.find(t[i])!=mapt.end()){ mapt[t[i]] += 1; }else{ mapt[t[i]] = 1; } } for(int i = 0;i < t.size();++i){ if(maps[s[i]]!=mapt[s[i]]){ return false; } }return true; } };
【初級算法】15. 有效的字母異位詞