Skip to content

Code:

js
/**
 * @param {string} pattern
 * @param {string} s
 * @return {boolean}
 */
var wordPattern = function(pattern, s) {
    const map = {}

    s = s.split(' ')

    if (pattern.length !== s.length) {
        return false
    }

    for (let i = 0; i < pattern.length; i++) {
        if (!map[`s-${pattern[i]}`]) {
            map[`s-${pattern[i]}`] = s[i]
        }

        if (!map[`t-${s[i]}`]) {
            map[`t-${s[i]}`] = pattern[i]
        }

        if (map[`s-${pattern[i]}`] !== s[i] || map[`t-${s[i]}`] !== pattern[i]) {
            return false
        }
    }

    return true
};



// 时间复杂度:O(m)
// 空间复杂度:O(m)

console.log(wordPattern('abba', "dog cat cat dog"))
console.log(wordPattern('abba', "dog cat cat fish"))
console.log(wordPattern('aaaa', "dog cat cat dog"))
console.log(wordPattern('jquery', 'jquery'))

❤ With Algorithm