Leetcode 926 Solution
This article provides solution to leetcode question 926 (find-and-replace-pattern)
Access this page by simply typing in "lcs 926" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/find-and-replace-pattern
Solution
class Solution:
def findAndReplacePattern(self, words: List[str], pattern: str) -> List[str]:
def match(word, pattern):
if len(word) != len(pattern):
return False
m = {}
s = set()
for w, p in zip(word, pattern):
if p not in m and w in s:
return False
if p in m and m[p] != w:
return False
m[p] = w
s.add(w)
return True
ans = []
for word in words:
if match(word, pattern):
ans.append(word)
return ans