Advertisement
Guest User

Trie

a guest
Sep 24th, 2013
988
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.96 KB | None | 0 0
  1. public class SimpleTrie {
  2.  
  3.     public class TrieNode {
  4.         boolean valid;
  5.         TrieNode[] children;
  6.     }
  7.    
  8.     public TrieNode root;
  9.    
  10.     private TrieNode getNode() {
  11.         TrieNode t = new TrieNode();
  12.         t.valid = false;
  13.         t.children = new TrieNode[26];
  14.         return t;
  15.     }
  16.    
  17.     public SimpleTrie() {
  18.         root = getNode();
  19.     }
  20.    
  21.     public void insert(String key) {
  22.         TrieNode crawler = root;
  23.         for(int level=0 ; level < key.length() ; level++) {
  24.             int index = key.charAt(level) - 'A';
  25.             if(crawler.children[index] == null) {
  26.                 crawler.children[index] = getNode();
  27.             }
  28.             crawler = crawler.children[index];
  29.         }
  30.         crawler.valid = true;
  31.     }
  32.    
  33.     public boolean contains(String key) {
  34.         TrieNode crawler = root;
  35.         for(int level=0 ; level < key.length() ; level++) {
  36.             int index = key.charAt(level) - 'A';
  37.             if(crawler.children[index] == null) {
  38.                 return false;
  39.             }
  40.             crawler = crawler.children[index];
  41.         }
  42.         return (crawler != null) && (crawler.valid == true);
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement