Leetcode——208. Implement Trie (Prefix Tree) C++语言实现Tire
2017-09-06 16:25
1141 查看
//slower than recursive version class Trie { private: static constexpr int R = 26; struct Node { bool is_word = false; Node *next = nullptr; }; public: //~Trie(); How to write efficient dectructor? void insert(string word) { if (word.empty()) return; Node *x = &root; int p = 0; while (p < word.size()) { if (!x->next) x->next = new Node[R]; x = &x->next[word[p++] - 'a']; } x->is_word = true; } bool search(string word) { Node x = root; int p = 0; while (x.next && p < word.size()) x = x.next[word[p++] - 'a']; return p == word.size() && x.is_word; } bool startsWith(string prefix) { Node x = root; int p = 0; while (x.next && p < prefix.size()) x = x.next[prefix[p++] - 'a']; return p == prefix.size() && (x.next || x.is_word); } private: Node root; };
相关文章推荐
- [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)
- 208. Implement Trie (Prefix Tree) LeetCode
- LeetCode 208. Implement Trie (Prefix Tree)(前缀树)
- [leetcode]208. Implement Trie (Prefix Tree)
- 【leetCode】208. Implement Trie (Prefix Tree) ------Java
- Leetcode 208. Implement Trie (Prefix Tree)
- leetcode 208. Implement Trie (Prefix Tree)
- [LeetCode] 208. Implement Trie (Prefix Tree) ☆☆☆
- LeetCode Implement Trie (Prefix Tree) (实现trie树3个函数:插入,查找,前缀)
- 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)