1. 程式人生 > >[LeetCode javaScript] 242. 有效的字母異位詞

[LeetCode javaScript] 242. 有效的字母異位詞

給定兩個字串 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) {
    var dd={}
    //將第一個字串存入json
    for(var i =0;i<s.length;i++){
        if(!dd[s[i]]){
            dd[s[i]]=1;
        }else{
            dd[s[i]]++;
        }
    }
    //處理第二個字串和第一個字串相等的部分
    for(var i=0;i<t.length;i++){
        if(!dd[t[i]]){
            return false;
        }else{
            dd[t[i]]--;
            if(dd[t[i]]<0){
                return false;
            }
        }
    }
    //判斷第一個字串是否比第二個長
    for(var z in dd){
        if(dd[z]!=0){
            return false;
        }
    }
    return true;
};