0
点赞
收藏
分享

微信扫一扫

【LeetCode】242. 有效的字母异位词(js 实现)

舍予兄 2022-05-02 阅读 70

1、题目:242. 有效的字母异位词 - 力扣(LeetCode) (leetcode-cn.com)

2、实现

(1)思路:

更正:数组改为字符串

(2)代码:

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isAnagram = function(s, t) {
    // 1.如果两个字符串长度不相同,那么直接返回false
    if(s.length !== t.length) {
        return false;
    }

    // 2.如果两个字符串长度相同,创建哈希表来保存字母情况
    let map = new Map();
    for(let i=0; i<s.length; i++) {
        // 判断字符串s
        if(map.has(s[i])) {
            // 将对应值加1
            map.set(s[i], map.get(s[i]) + 1);
        } else {
            map.set(s[i], 1);
        }
        // 判断字符串t
        if(map.has(t[i])) {
            map.set(t[i], map.get(t[i]) - 1);
        } else {
            map.set(t[i], -1);
        }      
    }
    
    // 3.遍历map,查看所有字母的数量情况
    for(const value of map.values()) {
        if(value !== 0) {
            return false;
        }
    }
    return true;
};

 3、参考:

  • js ES6 Map对象基础:Js Es6 Map对象 - 简书 (jianshu.com)
  • for...of遍历Map对象:javascript语法 --- for of/for in循环与Map对象,遍历对象的方法_酷酷的涵哥的博客-CSDN博客
  •  代码参考:Leetcode刷题 242 Valid Anagram_哔哩哔哩_bilibili

 

举报

相关推荐

0 条评论