首页 > 其他 > 详细

208. Implement Trie (Prefix Tree)

时间:2018-10-28 10:36:21      阅读:89      评论:0      收藏:0      [点我收藏+]
 1 class Trie {
 2     class TrieNode{
 3         char label;
 4         boolean flag;
 5         TrieNode[] children;
 6         TrieNode(char c){
 7             label = c;
 8             flag = false;
 9             children = new TrieNode[26];
10         }
11         TrieNode(){
12             flag = false;
13             children = new TrieNode[26];
14         }
15     }
16     TrieNode root;
17 
18     /** Initialize your data structure here. */
19     public Trie() {
20        root = new TrieNode();
21         
22     }
23     
24     /** Inserts a word into the trie. */
25     public void insert(String word) {
26         TrieNode node = root;
27         char[] arr = word.toCharArray();
28         for(char c : arr){
29             if(node.children[c-‘a‘] == null){
30                 TrieNode child= new TrieNode(c);
31                 node.children[c-‘a‘] = child;
32                 node = child;
33             }else{
34                 node = node.children[c-‘a‘];
35             }
36         }
37         node.flag = true;
38         
39         
40     }
41     
42     /** Returns if the word is in the trie. */
43     public boolean search(String word) {
44         TrieNode node = root;
45         char[] arr = word.toCharArray();
46         for(char c : arr){
47             if(node.children[c-‘a‘] == null){
48                 return false;
49             }else{
50                 node = node.children[c-‘a‘];
51             }
52         }
53         return node.flag;
54         
55     }
56     
57     /** Returns if there is any word in the trie that starts with the given prefix. */
58     public boolean startsWith(String prefix) {
59         TrieNode node = root;
60         char[] arr = prefix.toCharArray();
61         for(char c : arr){
62             if(node.children[c-‘a‘] == null){
63                 return false;
64             }else{
65                 node = node.children[c-‘a‘];
66             }
67         }
68         return true;
69         
70     }
71 }

 

208. Implement Trie (Prefix Tree)

原文:https://www.cnblogs.com/goPanama/p/9864465.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!