思路
通過哈希法去實現,這里主要描述search的思路:如果’.‘不在word中,我們只需要去查詢word在不在set中。如果’.‘存在,我們對哈希中的字符串進行遍歷w,如果當前字符串的長度不等于word跳過,對word進行遍歷,比較word的每一個元素與w的每一個元素,如果word[i]不等于’.'并且不等于w[i],則說明不匹配,最后return False。
class WordDictionary:def __init__(self):self.d=set()def addWord(self, word: str) -> None:self.d.add(word)def search(self, word: str) -> bool:if '.' not in word:return word in self.d for w in self.d:if len(w)!=len(word):continuematch=Truefor i in range(len(word)):if word[i]!='.' and word[i]!=w[i]:match=Falsebreakif match:return True return False# Your WordDictionary object will be instantiated and called as such:
# obj = WordDictionary()
# obj.addWord(word)
# param_2 = obj.search(word)