题目链接:890. 查找和替换模式
直接模拟。
from typing import List
class Solution:
def findAndReplacePattern(self, words: List[str], pattern: str) -> List[str]:
def match(word: str) -> bool:
if len(word) != len(pattern):
return False
mapping, mapping2 = dict(), dict()
for w, p in zip(word, pattern):
if w in mapping and mapping[w] != p:
return False
elif w in mapping:
continue
elif w not in mapping and p in mapping2:
return False
elif w not in mapping and p not in mapping2:
mapping[w], mapping2[p] = p, w
return True
return list(filter(match, words))