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
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;
};
 


 
    
Top comments (0)