来源:https://leetcode.com/problems/word-pattern/
给定一个模式pattern和一个字符串str,看str是否遵循这个pattern。
这里的遵循说的是完全匹配,就是说pattern里面的一个字母要对应str里面的一个非空的单词。
Example 1:
Input: pattern ="abba"
, str ="dog cat cat dog"
Output: true
Example 2:
Input:pattern ="abba"
, str ="dog cat cat fish"
Output: false
Example 3:
Input: pattern ="aaaa"
, str ="dog cat cat dog"
Output: false
Example 4:
Input: pattern ="abba"
, str ="dog dog dog dog"
Output: false
Notes:
你可以假定pattern
只包含小写字母,str包含的小写单词用空格分隔。
这道题其实跟第205题 Isomorphic Strings非常相似,区别在于205题比较的是两个字符串,这里是比较的是一个模式和一个单词组字符串的模式是否相同。我的思路很简单,这次把pattern映射成一个字符串,把单词组字符串str也影射成一个字符串,如果这个字符串完全相同,则模式匹配。
把字符串数组影射成一个模式:

然后,我们把pattern字符串和单词字符串分别转换为字符串数组,然后转化为字符串模式,进行比较:

Github:https://github.com/tinyfool/leetcode/tree/master/src/p0290
本题属于哈希表类题目,想了解更多关于哈希表的题目,可以参看哈希表专题。