Easy 14 lines Java solution, HashMap
For each word in dict, for each char, remove the char and put the rest of the word as key, a pair of index of the removed char and the char as part of value lis
1. For each word in ```dict```, for each char, remove the char and put the rest of the word as key, a pair of index of the removed char and the char as ```part of``` value list into a map. e.g.\n"hello" -> {"ello":[[0, 'h']], "hllo":[[1, 'e']], "helo":[[2, 'l'],[3, 'l']], "hell":[[4, 'o']]}\n2. During search, generate the keys as in step 1. When we see there's pair of same index but different char in the value array, we know the answer is true. e.g.\n"healo" when remove ```a```, key is "helo" and there is a pair [2, 'l'] which has same index but different char. Then the answer is true;\n\n```\nclass MagicDictionary {\n\n    Map<String, List<int[]>> map = new HashMap<>();\n    /** Initialize your data structure here. */\n    public MagicDictionary() {\n    }\n    \n    /** Build a dictionary through a list of words */\n    public void buildDict(String[] dict) {\n        for (String s : dict) {\n            for (int i = 0; i < s.length(); i++) {\n                String key = s.substring(0, i) + s.substring(i + 1);\n                int[] pair = new int[] {i, s.charAt(i)};\n                \n                List<int[]> val = map.getOrDefault(key, new ArrayList<int[]>());\n                val.add(pair);\n                \n                map.put(key, val);\n            }\n        }\n    }\n    \n    /** Returns if there is any word in the trie that equals to the given word after modifying exactly one character */\n    public boolean search(String word) {\n        for (int i = 0; i < word.length(); i++) {\n            String key = word.substring(0, i) + word.substring(i + 1);\n            if (map.containsKey(key)) {\n                for (int[] pair : map.get(key)) {\n                    if (pair[0] == i && pair[1] != word.charAt(i)) return true;\n                }\n            }\n        }\n        return false;\n    }\n}\n```
[]