Class WordDictionary
java.lang.Object
g0201_0300.s0211_design_add_and_search_words_data_structure.WordDictionary
211 - Design Add and Search Words Data Structure\.
Medium
Design a data structure that supports adding new words and finding if a string matches any previously added string.
Implement the `WordDictionary` class:
* `WordDictionary()` Initializes the object.
* `void addWord(word)` Adds `word` to the data structure, it can be matched later.
* `bool search(word)` Returns `true` if there is any string in the data structure that matches `word` or `false` otherwise. `word` may contain dots `'.'` where dots can be matched with any letter.
**Example:**
**Input**
["WordDictionary","addWord","addWord","addWord","search","search","search","search"] [ [],["bad"],["dad"],["mad"],["pad"],["bad"],[".ad"],["b.."]]
**Output**
[null,null,null,null,false,true,true,true]
**Explanation**
WordDictionary wordDictionary = new WordDictionary();
wordDictionary.addWord("bad");
wordDictionary.addWord("dad");
wordDictionary.addWord("mad");
wordDictionary.search("pad"); // return False
wordDictionary.search("bad"); // return True
wordDictionary.search(".ad"); // return True
wordDictionary.search("b.."); // return True
**Constraints:**
* `1 <= word.length <= 500`
* `word` in `addWord` consists lower-case English letters.
* `word` in `search` consist of `'.'` or lower-case English letters.
* At most `50000` calls will be made to `addWord` and `search`.
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
WordDictionary
public WordDictionary()
-
-
Method Details
-
addWord
-
search
-
dfs
public boolean dfs(g0201_0300.s0211_design_add_and_search_words_data_structure.WordDictionary.Node root, String word, int index)
-