DEV Community

Discussion on: The Word Pattern Algorithm: How to Test if a String Follows a Pattern

Collapse
 
salyadav profile image
Saloni Yadav

a slight modification (or not). just a choice of a different DS.

var wordPattern = function(pattern, str) {
    let pat = pattern.split("");
    let s = str.split(" ");
    if (pat.length!==s.length)
        return false;

    const hash = new Map();
    const set = new Set();
    for (let i=0; i<pat.length; i++) {
        set.add(s[i]);
        if (hash.get(pat[i])) {
            if(hash.get(pat[i])!==s[i])
                return false;
        } else {
            hash.set(pat[i],s[i]);
        }
    }
    if (set.size==hash.size)
        return true;
    else 
        return false;
};