[LeetCode][JavaScript]Word Pattern
2015-10-10 22:28
489 查看
Word Pattern
Given apatternand a string
str, find if
strfollows the same pattern.
Here follow means a full match, such that there is a bijection between a letter in
patternand a substring in
str.
Examples:
pattern =
"abba", str =
"dog cat cat dog"should return true.
pattern =
"abba", str =
"dog cat cat fish"should return false.
pattern =
"aaaa", str =
"dog cat cat dog"should return false.
pattern =
"abba", str =
"dog dog dog dog"should return false.
Notes:
You may assume
patterncontains only lowercase letters, and
strcontains lowercase letters separated by a single space.
输入的str要匹配pattern的模式。
需要开两个哈希表,一个是pattern和str的映射,还有一个记录pattern有没有用过。
/** * @param {string} pattern * @param {string} str * @return {boolean} */ var wordPattern = function(pattern, str) { var dict = {}, used = {}; var strArr = str.split(' '); if(pattern.length !== strArr.length){ return false; } for(var i = 0; i < strArr.length; i++){ if(!dict[strArr[i]]){ if(used[pattern[i]]){ return false; }else{ used[pattern[i]] = true; } dict[strArr[i]] = pattern[i]; }else{ if(dict[strArr[i]] !== pattern[i]){ return false; } } } return true; };
相关文章推荐
- JavaScript中防篡改对象
- js中定义类的方法
- JS函数式编程【译】4.4 函数式响应式编程
- JS第三次课
- JS 的闭包
- JavaScript 验证提交文件的信息
- js里实现队列与堆栈
- js里实现队列与堆栈
- jsonp跨域实现
- ArcGIS for Service中JavaScript预览在内网环境无法使用
- javascript列表
- json解析,异步下载(listview仅滑动时加载)Demo总结
- json解析,异步下载(listview仅滑动时加载)Demo总结
- JS第二次课(循环语句)
- JavaScript instanceof 运算符深入剖析【转载】
- <<Javascript基础教程学习(第8版)>>第4章 学习笔记 ---处理图像
- JS 跨域
- 解析JSON数据系列1:在网页上显示Json数据
- Json转为Map
- [前端]JavaScript瀑布流