diff --git a/tries/README.md b/tries/README.md index a922179..dbeeec7 100644 --- a/tries/README.md +++ b/tries/README.md @@ -18,6 +18,37 @@
+```python +class Trie: + + def __init__(self): + self.root = {} + + def insert(self, word: str) -> None: + node = self.root + for c in word: + if c not in node: + node[c] = {} + node = node[c] + node['$'] = None + + def match(self, seq, prefix=False): + node = self.root + for c in seq: + if c not in node: + return False + node = node[c] + return prefix or ('$' in node) + + def search(self, word: str) -> bool: + return self.match(word) + + def startsWith(self, prefix: str) -> bool: + return self.match(prefix, True) +``` + +
+ ---- ### insertion