1. 给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。
    2. 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。
    1. 示例1:
    2. 输入: pattern = "abba", str = "dog cat cat dog"
    3. 输出: true
    4. 示例 2:
    5. 输入:pattern = "abba", str = "dog cat cat fish"
    6. 输出: false
    7. 示例 3:
    8. 输入: pattern = "aaaa", str = "dog cat cat dog"
    9. 输出: false
    10. 示例 4:
    11. 输入: pattern = "abba", str = "dog dog dog dog"
    12. 输出: false
    1. /**
    2. * @param {string} pattern
    3. * @param {string} s
    4. * @return {boolean}
    5. */
    6. var wordPattern = function(pattern, s) {
    7. var ch2word = new Map()
    8. var word2ch = new Map()
    9. var arr = s.split(' ')
    10. if(pattern.length != arr.length) return false;
    11. for(let i=0;i<pattern.length;i++){
    12. if(ch2word.has(pattern[i])==true){
    13. if(ch2word.get(pattern[i])!=arr[i]){
    14. return false
    15. }
    16. }else{
    17. ch2word.set(pattern[i],arr[i])
    18. }
    19. if(word2ch.has(arr[i])==true){
    20. if(word2ch.get(arr[i])!=pattern[i]) return false
    21. }else{
    22. word2ch.set(arr[i],pattern[i])
    23. }
    24. }
    25. return true
    26. };