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】。文章转载请联系作者。
评论