Word Pattern
Input: pattern = "abba", str = "dog cat cat dog"
Output: trueInput:pattern = "abba", str = "dog cat cat fish"
Output: falseInput: pattern = "aaaa", str = "dog cat cat dog"
Output: falseInput: pattern = "abba", str = "dog dog dog dog"
Output: falseclass Solution:
def wordPattern(self, pattern: str, str: str) -> bool:
str = str.split(' ')
if len(str) != len(pattern):
return False
# wordsMap = {}
# for i in range(len(str)):
# if pattern[i] in wordsMap and wordsMap[pattern[i]] != str[i]:
# return False
# if pattern[i] not in wordsMap:
# if str[i] in wordsMap.values():
# return False
# wordsMap[pattern[i]] = str[i]
# return True
s,p = {},{}
for i in range(len(str)):
if s.get(str[i],-1) != p.get(pattern[i],-1): #default index必须是-1,因为0是有效Index
return False
s[str[i]] = p[pattern[i]] = i
return True
Last updated