匹配模式:大大小小 --> 1122
def wordpattern(wordpattern, input):
word = input.split(' ') # 目标字符串的单词以空格隔开
if len(word) != len(wordpattern): # 判断目标字符串和 模式字符串的长度是否相等
return False
hash = {} # 存储模式字符串和单词字符串的对应关系
used = {} # 存储模式映射关系
for i in range(len(wordpattern)):
wp_i = wordpattern[i] # 切割
w_i = word[i]
if wp_i in hash: # 检查模式字符串是否已经被记录过
if hash[wp_i] != w_i: # 检查被记录过的模式字符串是否第一次出现
return False
else: # 不是第一次出现
if w_i in used: # 判断是否在存储映射表中出现
return False
hash[wp_i] = w_i # 第一次出现加入hash表
used[w_i] = True # used的表记录映射关系
return True
def wordp(wordp, input):
word = input.split(' ')
if len(word) != len(wordp):
return False
hash = {}
used = {}
for i in range(