LeetCode 题解:290. 单词规律,哈希表,JavaScript,详细注释
原题链接:https://leetcode.cn/problems/word-pattern/description/
理解题意:
pattern = "abba", s = "dog cat cat cat",pattern中的a同时映射了s中的dog和cat,不正确pattern = "abba", s = "dog dog dog dog",s中的dog同时映射了pattern中的a和b,不正确pattern = "abba", s = "dog constructor constructor dog",如果let s2p = {}; console.log(typeof s2p.consructor) // function,consructor无法被映射到“b”,会导致判断出错,因此只能用let s2p = new Map()存储映射关系
解题思路:
做这题之前,可以先做205. 同构字符串
用两个 Map,分别存储
pattern -> s和s -> pattern的映射关系遍历字符串,查看 Map 中存储的映射关系是否与遍历到的字符不同,出现不同就表示两个字符串不存在双向连接规律
如果正常退出循环,表示没意义找到不同的映射关系,两个字符串存在双向连接规律
复制代码
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/2c7e1a958d2ee181dc7d1f2da】。文章转载请联系作者。







评论