Class MagicDictionary
-
- All Implemented Interfaces:
public final class MagicDictionary676 - Implement Magic Dictionary.
Medium
Design a data structure that is initialized with a list of different words. Provided a string, you should determine if you can change exactly one character in this string to match any word in the data structure.
Implement the
MagicDictionaryclass:MagicDictionary()Initializes the object.void buildDict(String[] dictionary)Sets the data structure with an array of distinct stringsdictionary.bool search(String searchWord)Returnstrueif you can change exactly one character insearchWordto match any string in the data structure, otherwise returnsfalse.
Example 1:
Input
"MagicDictionary", "buildDict", "search", "search", "search", "search" [ [],
["hello", "leetcode"], "hello", "hhllo", "hell", "leetcoded"]
Output: null, null, false, true, false, false
Explanation:
MagicDictionary magicDictionary = new MagicDictionary(); magicDictionary.buildDict(["hello", "leetcode"]); magicDictionary.search("hello"); // return False magicDictionary.search("hhllo"); // We can change the second 'h' to 'e' to match "hello" so we return True magicDictionary.search("hell"); // return False magicDictionary.search("leetcoded"); // return FalseConstraints:
1 <= dictionary.length <= 1001 <= dictionary[i].length <= 100dictionary[i]consists of only lower-case English letters.All the strings in
dictionaryare distinct.1 <= searchWord.length <= 100searchWordconsists of only lower-case English letters.buildDictwill be called only once beforesearch.At most
100calls will be made tosearch.
-
-
Constructor Summary
Constructors Constructor Description MagicDictionary()
-