Add and Search Word - Data structure design
Design a data structure that supports the following two operations. search(word)
can search a literal word or a regular expression string containing only letters a-z
or .
. .
means it can represent any one letter.
(设计一种数据结构支持正则查询)
1 | void addWord(word) |
Example:
1. 回溯法
由于包含正则项的匹配,使用回溯法,回溯法一般通过 DFS 完成,具体实现过程如下:
1 | import collections |
2. 字典
由于.
能切只能匹配一个字符,因此字符串的长度是恒定的,因此可以根据字符串的长度来进行哈希,具体实现过程如下:
1 | import collections |