File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed
data_structures/Java/trie Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ public class Trie {
2
+ static final int SIZE_OF_ALPHABET = 26 ;
3
+ static class TrieNode {
4
+ TrieNode [] children = new TrieNode [SIZE_OF_ALPHABET ];
5
+ TrieNode (){
6
+ isEndOfWord = false ;
7
+ for (int i = 0 ; i < SIZE_OF_ALPHABET ; i ++){
8
+ children [i ] = null ;
9
+ }
10
+ }
11
+ }
12
+ static TrieNode root ;
13
+
14
+ static void insert (String key ){s
15
+ int index ;
16
+ int level ;
17
+ TrieNode currentNode = root ;
18
+ for (level = 0 ; level < key .length (); level ++){
19
+ index = key .charAt (level ) - 'a' ;
20
+ if (currentNode [index ] == null ){
21
+ currentNode [index ] = new TrieNode ();
22
+ }
23
+ currentNode = currentNode .children [index ];
24
+ }
25
+ currentNode .isEndOfWord = true ;
26
+ }
27
+
28
+ static boolean search (String searched_string ){
29
+ TrieNode currentNode = root ;
30
+ for (int level = 0 ; level < searched_string .length (); level ++){
31
+ int index = searched_string .charAt (level ) - 'a' ;
32
+ if (currentNode .children [index ] != null ){
33
+ currentNode = currentNode .children [index ]
34
+ } else {
35
+ return false ;
36
+ }
37
+ }
38
+ return (currentNode != null && currentNode .isEndOfWord == true )
39
+ }
40
+ }
You can’t perform that action at this time.
0 commit comments