给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram" 输出: true示例 2:
输入: s = "rat", t = "car" 输出: false说明:
你可以假设字符串只包含小写字母。进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
利用对象。。数每个字符的个数,然后遍历比较
/** * @param {string} s * @param {string} t * @return {boolean} */ var isAnagram = function(s, t) { if(s.length!=t.length){ return false; } let sMap = {}; let tMap = {}; s = s.split(''); t = t.split(''); for(let i=0;i<s.length;i++){ if(!sMap[s[i]]){ sMap[s[i]] = 1; }else{ sMap[s[i]] ++; } if(!tMap[t[i]]){ tMap[t[i]] = 1; }else{ tMap[t[i]] ++; } } for(let i=0;i<s.length;i++){ if(sMap[s[i]]!=tMap[s[i]]){ return false; } } return true; };