208. Implement Trie (Prefix Tree)
Posted Premiumlab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了208. Implement Trie (Prefix Tree)相关的知识,希望对你有一定的参考价值。
https://leetcode.com/problems/implement-trie-prefix-tree/#/description
Implement a trie with insert
, search
, and startsWith
methods.
Note:
You may assume that all inputs are consist of lowercase letters a-z
.
Sol:
from collections import defaultdict class TrieNode(object): def __init__(self): self.nodes = defaultdict(TrieNode) self.isword = False class Trie(object): def __init__(self): """ Initialize your data structure here. """ self.root = TrieNode() def insert(self, word): """ Inserts a word into the trie. :type word: str :rtype: void """ curr = self.root for char in word: curr = curr.nodes[char] curr.isword = True def search(self, word): """ Returns if the word is in the trie. :type word: str :rtype: bool """ curr = self.root for char in word: if char not in curr.nodes: return False curr = curr.nodes[char] return curr.isword def startsWith(self, prefix): """ Returns if there is any word in the trie that starts with the given prefix. :type prefix: str :rtype: bool """ curr = self.root for char in prefix: if char not in curr.nodes: return False curr = curr.nodes[char] return True # Your Trie object will be instantiated and called as such: # obj = Trie() # obj.insert(word) # param_2 = obj.search(word) # param_3 = obj.startsWith(prefix)
以上是关于208. Implement Trie (Prefix Tree)的主要内容,如果未能解决你的问题,请参考以下文章
208. Implement Trie (Prefix Tree)
208. Implement Trie (Prefix Tree)
208. Implement Trie (Prefix Tree)
208. Implement Trie (Prefix Tree)