72% TC and 63% SC easy python solution
\ndef __init__(self):\n\tself.root = dict()\n\tself.root[\'end\'] = 0\n\ndef buildDict(self, dictionary: List[str]) -> None:\n\tfor word in dictionary:\n\t\tc =
```\ndef __init__(self):\n\tself.root = dict()\n\tself.root[\'end\'] = 0\n\ndef buildDict(self, dictionary: List[str]) -> None:\n\tfor word in dictionary:\n\t\tc = self.root\n\t\tfor char in word:\n\t\t\tif(char not in c):\n\t\t\t\tc[char] = dict()\n\t\t\t\tc[char][\'end\'] = 0\n\t\t\tc = c[char]\n\t\tc[\'end\'] = 1\n\ndef search(self, searchWord: str) -> bool:\n\tc = self.root\n\ti = 0\n\treturn self.dfs(0, searchWord, c, False, 0)\n\ndef dfs(self, i, word, curr, flag, changed):\n\tif(i == len(word)):\n\t\treturn curr[\'end\'] and changed\n\ttemp = False\n\tfor child in curr:\n\t\tif(child == word[i]):\n\t\t\ttemp = temp or self.dfs(i+1, word, curr[child], curr[\'end\'], changed)\n\t\telif(child != \'end\' and changed == 0):\n\t\t\ttemp = temp or self.dfs(i+1, word, curr[child], curr[\'end\'], changed+1)\n\treturn temp\n```
['Trie', 'Python', 'Python3']