Solution
- Similar to Isomorphic Strings
def wordPattern(self, pattern: str, s: str) -> bool:
tokens = s.split(' ')
if len(pattern) != len(tokens):
return False
fmap, bmap = {}, {}
for i in range(len(pattern)):
ch = pattern[i]
if (ch in fmap and fmap[ch] != tokens[i]) or (tokens[i] in bmap and bmap[tokens[i]] != ch):
return False
fmap[ch] = tokens[i]
bmap[tokens[i]] = ch
return True