问题描述:
实现前缀树的插入,查找和部分前缀的查找
代码如下:
Trie节点定义如下:
public class Trie {
//前缀树节点
boolean isEnd;//判断是否为末尾元素
Trie[] children;//当前节点的孩子节点
public Trie() {
this.isEnd=false;//默认末尾标志为false
children=new Trie[26];//只针对小写字母
}
}
前缀树具体实现如下:
import java.util.linkedList;
import java.util.List;
//前缀树实现
public class MyTrie {
public Trie root;
public MyTrie(Trie root) {
this.root = root;
}
//插入字符串
public void insert(String word){
Trie p=root;
for (int i = 0; i
测试用例如下:
public class TireTest {
//前缀树测试类
public static void main(String[] args) {
Trie root=new Trie();
MyTrie myTrie=new MyTrie(root);
myTrie.insert("hello");
myTrie.insert("world");
myTrie.insert("him");
System.out.println(myTrie.search("aa"));
System.out.println(myTrie.search("hello"));
System.out.println(myTrie.search("world"));
System.out.println(myTrie.startWith("hi"));
}
}
测试结果如下:



