@@ -5,19 +5,15 @@ public StreamChecker(String[] words) {
5
5
root = new TrieNode ('-' );
6
6
stream = new ArrayDeque ();
7
7
for (String word : words ) {
8
- addWord (word );
9
- }
10
- }
11
-
12
- private void addWord (String s ) {
13
- TrieNode curr = root ;
14
- for (int i = s .length () - 1 ; i >= 0 ; i --) {
15
- if (!curr .map .containsKey (s .charAt (i ))) {
16
- curr .map .put (s .charAt (i ), new TrieNode (s .charAt (i )));
8
+ TrieNode curr = root ;
9
+ for (int i = word .length () - 1 ; i >= 0 ; i --) {
10
+ if (!curr .map .containsKey (word .charAt (i ))) {
11
+ curr .map .put (word .charAt (i ), new TrieNode (word .charAt (i )));
12
+ }
13
+ curr = curr .map .get (word .charAt (i ));
17
14
}
18
- curr = curr . map . get ( s . charAt ( i )) ;
15
+ curr . isWord = true ;
19
16
}
20
- curr .isWord = true ;
21
17
}
22
18
23
19
public boolean query (char letter ) {
@@ -36,11 +32,6 @@ public boolean query(char letter) {
36
32
}
37
33
}
38
34
39
- /**
40
- * Your StreamChecker object will be instantiated and called as such:
41
- * StreamChecker obj = new StreamChecker(words);
42
- * boolean param_1 = obj.query(letter);
43
- */
44
35
45
36
class TrieNode {
46
37
char c ;
@@ -53,3 +44,9 @@ public TrieNode(char c) {
53
44
isWord = false ;
54
45
}
55
46
}
47
+
48
+ /**
49
+ * Your StreamChecker object will be instantiated and called as such:
50
+ * StreamChecker obj = new StreamChecker(words);
51
+ * boolean param_1 = obj.query(letter);
52
+ */
0 commit comments