242. 有效的字母异位词---js解法

题目描述:

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

力扣链接:https://leetcode-cn.com/problems/valid-anagram/

242. 有效的字母异位词---js解法_第1张图片


解题思路:

    1.如果两个数组长度不一样,则返回false
    2.创建一个map,用来存储每个字符出现的次数
    3.对于第一个单词的每个字母,也就是s1[i],在map里将出现次数+1.
      对于第一个单词的每个字母,也就是s2[i],在map里将出现次数减一
    4.遍历完成后,检查map里的每一个字母的出现次数是不是0,如果有一个非0的字母,
      则返回false,否则返回true  

 var isAnagram = function(s, t) {
   
            if(s.length!=t.length){
                return false;
            }

            const map = new Map();
            for(let i = 0; i < s.length;++i){
                if(map.has(s[i])){
                    map.set(s[i],map.get(s[i])+1)
                }else{
                    map.set(s[i],1)
                }

                if(map.has(t[i])){
                    map.set(t[i],map.get(t[i])-1)
                }else{
                    map.set(t[i],-1)
                }
            }

            for(const letter of map){
                if(letter[1]!==0){
                    return false
                }
            }
            return true
        };

你可能感兴趣的:(leetcode)