这道题是要求把字母换成一个字符串之后,比较2者是否相等。注意在替换的过程中直接在原字符串上替换有可能导致前面替换的对后面产生影响,且2个不同的字母的替换不能相同。代码如下:
class Solution(object):
def wordPattern(self, pattern, str):
"""
:type pattern: str
:type str: str
:rtype: bool
"""
q = list(pattern)
p = set(q)
c = []
str1 = str.split(' ')
compare = ''
# print str1
for i in p:
a = pattern.index(i)
if a > len(str1) -1:
return False
b = str1[a]
if b == compare:
return False
for j in range(len(q)):
if j not in c:
if q[j] == i:
q[j] = b
c.append(j)
compare = b
if q == str1:
return True
else:
return False