Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class SimpleTrie {
- public class TrieNode {
- boolean valid;
- TrieNode[] children;
- }
- public TrieNode root;
- private TrieNode getNode() {
- TrieNode t = new TrieNode();
- t.valid = false;
- t.children = new TrieNode[26];
- return t;
- }
- public SimpleTrie() {
- root = getNode();
- }
- public void insert(String key) {
- TrieNode crawler = root;
- for(int level=0 ; level < key.length() ; level++) {
- int index = key.charAt(level) - 'A';
- if(crawler.children[index] == null) {
- crawler.children[index] = getNode();
- }
- crawler = crawler.children[index];
- }
- crawler.valid = true;
- }
- public boolean contains(String key) {
- TrieNode crawler = root;
- for(int level=0 ; level < key.length() ; level++) {
- int index = key.charAt(level) - 'A';
- if(crawler.children[index] == null) {
- return false;
- }
- crawler = crawler.children[index];
- }
- return (crawler != null) && (crawler.valid == true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement