单词规律
给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。
这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。
输入: pattern = “abba”, s = “dog cat cat dog”
输出: true
输入:pattern = “abba”, s = “dog cat cat fish”
输出: false
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| var wordPattern = function(pattern, str) { const obj = {},arr = str.split(' '),n = arr.length; if(pattern.length !== n) return false; for(let i = 0;i<n;i++){ if(obj[pattern[i]]){ if(obj[pattern[i]] !== arr[i]){ return false } }else if(obj['_'+arr[i]]){ return false }else { obj[pattern[i]] = arr[i] obj['_'+arr[i]] = pattern[i] } } return true };
|