leetcode.208. Implement Trie (Prefix Tree) 字典树
来源:互联网 发布:在淘宝网如何注册网店 编辑:程序博客网 时间:2024/05/22 01:39
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: // Initialize your data structure here. bool isEnd; TrieNode *children[26]; TrieNode() : isEnd(false) { for (int i = 0; i < 26; i++) { children[i] = NULL; } } };class Trie {public: Trie() { root = new TrieNode(); } // Inserts a word into the trie. void insert(string word) { TrieNode *cur = root; for (int i = 0; i < word.length(); i++) { int index = word[i] - 'a'; if (cur->children[index] == NULL) { cur->children[index] = new TrieNode(); } cur = cur->children[index]; } cur->isEnd = true; } // Returns if the word is in the trie. bool search(string word) { int n = word.length(); return search(word, n, 0, root); } bool search(string &word, int n, int pos, TrieNode *cur) { if (cur == NULL) return false; if (pos == n) return cur->isEnd; int index = word[pos] - 'a'; if (cur->children[index]) { return search(word, n, pos+1, cur->children[index]); } return false; } // Returns if there is any word in the trie // that starts with the given prefix. bool startsWith(string prefix) { TrieNode *cur = root; for(int i = 0;i<prefix.size();i++) { int index = prefix[i] - 'a'; if (cur->children[index] == NULL) return false; cur = cur->children[index]; } return true; }private: TrieNode* root;};// Your Trie object will be instantiated and called as such:// Trie trie;// trie.insert("somestring");// trie.search("key");
0 0
- leetcode.208. Implement Trie (Prefix Tree) 字典树
- leetcode 208. Implement Trie (Prefix Tree)字典树
- leetcode 208. Implement Trie (Prefix Tree) 字典树的构造
- 208. Implement Trie (Prefix Tree)字典树
- [LeetCode] Implement Trie (Prefix Tree) 实现字典树(前缀树)
- LeetCode Implement Trie (Prefix Tree) 字典树/前缀树
- leetcode -- Implement Trie (Prefix Tree) -- 关于字典树,重要
- Leetcode 208 Implement Trie (Prefix Tree) 字典树
- leetcode---Implement Trie (Prefix Tree)---Trie树
- Implement Trie (Prefix Tree) 字典树
- 208. Implement Trie (Prefix Tree)--Trie树
- 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)
- Leetcode 208. Implement Trie (Prefix Tree)
- C++常见问题(二)——虚函数、类与结构、引用与值传递
- iOS学习--ViewController之间的跳转
- Java中如何封装自己的类,建立并使用自己的类库?
- 通过Power Shell 在中国区Azure部署Azure SQL Data Warehouse
- 详谈京东的商品搜索系统架构设计
- leetcode.208. Implement Trie (Prefix Tree) 字典树
- MVC 利用枚举数据构造下拉框Select数据源
- 【第六章】 AOP 之 6.8 切面实例化模型 ——跟我学spring3
- 重定向和转发区别
- IDEA远程调试Tomcat
- OpenCV实践之路——使用imread()函数读取图片的六种正确姿势
- 事故配压阀验收报告
- 六年的程序员奋斗之路(2)
- Eclipse项目转到as下容易出现的错误