211. 添加与搜索单词 - 数据结构设计(中等)
1,问题描述
难度:中等
请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。
实现词典类 WordDictionary
:
WordDictionary()
初始化词典对象void addWord(word)
将word
添加到数据结构中,之后可以对它进行匹配bool search(word)
如果数据结构中存在字符串与word
匹配,则返回true
;否则,返回false
。word
中可能包含一些'.'
,每个.
都可以表示任何一个字母。
示例:
1 | 输入: |
提示:
1 <= word.length <= 25
addWord
中的word
由小写英文字母组成search
中的word
由 ‘.’ 或小写英文字母组成- 最多调用
104
次addWord
和search
2,初步思考
使用其他方法会超时,如果使用字典树可以快速查找,这个也是通用的字典查询逻辑
3,代码处理
1 | package questions; |