当前位置: 代码迷 >> 综合 >> leetcode 208. Implement Trie (Prefix Tree) (Medium)
  详细解决方案

leetcode 208. Implement Trie (Prefix Tree) (Medium)

热度:94   发布时间:2024-01-05 00:20:12.0

题目链接
构建前缀树(字典树)
这里采用哈希表实现

class Trie
{
    
public:/** Initialize your data structure here. */Trie(){
    }/** Inserts a word into the trie. */void insert(string word){
    Trie *node = this;for (auto c : word){
    if (!node->next.count(c))node->next[c] = new Trie();node = node->next[c];}node->isword = true;}/** Returns if the word is in the trie. */bool search(string word){
    Trie *node = this;for (auto c : word){
    if (!node->next.count(c))return false;node = node->next[c];}return node->isword;}/** Returns if there is any word in the trie that starts with the given prefix. */bool startsWith(string prefix){
    Trie *node = this;for (auto c : prefix){
    if (!node->next.count(c))return false;node = node->next[c];}return true;}private:map<char, Trie *> next = {
    };bool isword = false;
};
  相关解决方案