Leetcode - 242. Valid Anagram

Approach 1 /** * @param {string} s * @param {string} t * @return {boolean} */ var isAnagram = function(s, t) { let sortedSArr = s.split('').sort(); let sortedTArr = t.split('').sort(); if (sortedSArr.length != sortedTArr.length) return false; for (let i = 0 ; i

Mar 17, 2025 - 19:40
 0
Leetcode - 242. Valid Anagram

Approach 1

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isAnagram = function(s, t) {
    let sortedSArr = s.split('').sort();
    let sortedTArr = t.split('').sort();

    if (sortedSArr.length != sortedTArr.length) return false;

    for (let i = 0 ; i < sortedSArr.length;i++){
        if(sortedSArr[i]!== sortedTArr[i]){
            return false
        }
    }
    return true;
};

this is not optimal solution

Image description

Approach 2
Using Hashmap makes it more faster

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

    let lookup = {};
    for(let i = 0; i < s.length; i++) {
        lookup[s[i]] = (lookup[s[i]] || 0) + 1;
    }

    for(let i = 0; i < t.length; i++) {
        if(!lookup[t[i]]) return false
        else lookup[t[i]] -= 1;
    }

    return true;

};