Map || Vector || C++
\nclass WordDictionary {\npublic:\n    map<size_t, vector<string>> words;\n    WordDictionary() {\n        \n    }\n    bool my_find(string word) {\n        vec
```\nclass WordDictionary {\npublic:\n    map<size_t, vector<string>> words;\n    WordDictionary() {\n        \n    }\n    bool my_find(string word) {\n        vector<string> cand = words[word.size()];\n        for (int i = 0; i < cand.size(); i++) {\n            int j = 0;\n            while (j < word.size()) {\n                if (word[j] == cand[i][j] || word[j] == \'.\' || cand[i][j] == \'.\') {\n                    j++;\n                }\n                else {\n                    break;\n                }\n            }\n            if (j == word.size()) {\n                return true;\n            }\n        }\n            \n        return false;\n    }\n    void addWord(string word) {\n        words[word.size()].push_back(word);\n    }\n    \n    bool search(string word) {\n        return my_find(word);\n    }\n};\n\n/**\n * Your WordDictionary object will be instantiated and called as such:\n * WordDictionary* obj = new WordDictionary();\n * obj->addWord(word);\n * bool param_2 = obj->search(word);\n */\n```\n\nFeel free to ask doubts.\nAnd please share some suggestions.\nHappy coding :)
['C']