这道题是给定一个两个字符串:pattern 和 s。
其中s是由若干个单词组成,每个单词通过空格分割。
求:s是否与pattern有同样的匹配模式
例如 pattern = abba
s = “dog cat cat dog” 之类我们知道a映射为dog,b映射为cat。然后二者的匹配模式是相同的。
这道题先将s按空格分割,看长度是否与pattern相同,不同则不可能有同样的匹配模式。
在长度相同的情况下,我们只需要按照顺序从id=1开始遍历。
words = split(s, “”);
preb, prew = pattern[0], words[0]
我们还需要定义两个map
b2w和 w2b 分别表示byte到string的映射,已经string到byte的映射。
当开始遍历的时候,如果当前pattern[idx] == preb, 我们需要判断当前的words[i]是否与prew相同,如果不相同,直接返回false。如果相同则继续处理下一个idx。
如果当前的pattern[idx] ≠ preb, 例如 ab
ba遍历到红色的b,我们需要做如下处理