Class WordDictionary
-
- All Implemented Interfaces:
public final class WordDictionary211 - 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
WordDictionaryclass:WordDictionary()Initializes the object.void addWord(word)Addswordto the data structure, it can be matched later.bool search(word)Returnstrueif there is any string in the data structure that matcheswordorfalseotherwise.wordmay 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 TrueConstraints:
1 <= word.length <= 500wordinaddWordconsists lower-case English letters.wordinsearchconsist of'.'or lower-case English letters.At most
50000calls will be made toaddWordandsearch.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public final classWordDictionary.TrieNode
-
Field Summary
Fields Modifier and Type Field Description private final WordDictionary.TrieNodetrieTree
-
Constructor Summary
Constructors Constructor Description WordDictionary()
-
Method Summary
Modifier and Type Method Description final WordDictionary.TrieNodegetTrieTree()final UnitaddWord(String word)final Booleansearch(String word)-
-
Method Detail
-
getTrieTree
final WordDictionary.TrieNode getTrieTree()
-
-
-
-