#include <iostream>
using namespace std;

class Trienode{
vector<Trienode*>child;
int count;

public:
Trienode()
{
    child.resize(26,NULL);
    count=0;
}

};


class Trie
{
  Trienode* root;

  public:
  Trie()
  {
       root = new Trienode; 
  }

  void insert(string word)
  {
      Trienode* curr = root;
      for(int i=0;i<word.size();i++)
      {
         if(curr->child[word[i] - 'a'] != NULL)
         {
             curr = curr->child[word[i] - 'a'];
         }
         else
         {
             curr->child[word[i] - 'a'] = new Trienode;
             curr = curr->child[word[i] - 'a'];       
         }
      }
      curr->count++;
  }

  bool search(string word)
  {
     Trienode* curr = root;
     for(int i=0;i<word.size();i++)
      {
         if(curr->child[word[i] - 'a'] != NULL)
         {
             curr = curr->child[word[i] - 'a'];
         }
         else
         {
             return false;
         }
      }

    return curr->count;
      
};





int main() {
   
    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: