leetcode-208. Implement Trie (Prefix Tree)
2017-03-07 16:55
211 查看
leetcode-208. Implement Trie (Prefix Tree)
Implement a trie with insert, search, and startsWith methods. Note: You may assume that all inputs are consist of lowercase letters a-z.
class TrieNode{ public: TrieNode *child[26]; bool isWord; TrieNode():isWord(false){ for(auto &a: child) a = NULL; } }; //Don't forget ; class Trie { public: //Don't forget : /** Initialize your data structure here. */ Trie() { root = new TrieNode(); } /** Inserts a word into the trie. */ void insert(string word) { TrieNode *p = root; for(auto &a : word){ //& is reference, will change the element in the string int i = a - 'a'; if(!p->child[i]) p->child[i] = new TrieNode; p = p->child[i]; } p -> isWord = 1; } /** Returns if the word is in the trie. */ bool search(string word) { TrieNode *p = root; for(auto &a : word){ int i = a - 'a'; if(!p->child[i]) return false; p = p->child[i]; } return p->isWord; } /** Returns if there is any word in the trie that starts with the given prefix. */ bool startsWith(string prefix) { TrieNode *p = root; for(auto &a: prefix){ int i = a -'a'; if(!p -> child[i]) return false; p = p->child[i]; } return true; } private: TrieNode* root; }; /** * Your Trie object will be instantiated and called as such: * Trie obj = new Trie(); * obj.insert(word); * bool param_2 = obj.search(word); * bool param_3 = obj.startsWith(prefix); */
相关文章推荐
- leetcode 208. Implement Trie (Prefix Tree)
- Leetcode 208. Implement Trie (Prefix Tree)
- [leetcode] 208. Implement Trie (Prefix Tree) 解题报告
- [LeetCode] 208. Implement Trie (Prefix Tree) 实现字典树(前缀树)
- [LeetCode] 208. Implement Trie (Prefix Tree) ☆☆☆
- leetcode 208. Implement Trie (Prefix Tree)字典树
- 数据结构 前缀树 leetcode 208. Implement Trie (Prefix Tree)
- [leetcode] 208. Implement Trie (Prefix Tree)
- LeetCode *** 208. Implement Trie (Prefix Tree) (给指针数组赋空间)
- [LeetCode] 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree) LeetCode
- 【LeetCode】208. Implement Trie (Prefix Tree)
- LeetCode208. Implement Trie (Prefix Tree)实现前缀树
- [LeetCode]208. Implement Trie (Prefix Tree)
- Leetcode 208. Implement Trie (Prefix Tree)
- LeetCode 208. Implement Trie (Prefix Tree)
- leetcode 208. Implement Trie (Prefix Tree)
- LeetCode - 208. Implement Trie (Prefix Tree)
- Leetcode 208. Implement Trie (Prefix Tree)
- Leetcode 208. Implement Trie (Prefix Tree)