class TreeNode
{
TreeNode child[] = new TreeNode [26];//26个子节点
Arraylist<String>arr = new Arraylist<String>();//当前前缀的所有字符串
}
public void insert(String word) {
int len = word.length();
TreeNode now = root;//root是整棵树的根
for(int i=0;i<len;i++)
{
char c = word.charAt(i);
if(now.child[c-'a']==null)//无节点则新建一个
{
TreeNode n = new TreeNode();
now.child[c-'a'] = n;
}
now.child[c-'a'].arr.add(word);//word包含在这个前缀里面
now = now.child[c-'a'];
}
}
public void write()
{
TreeNode now = root;//root是整棵树的根
String str = new String();//要输入的单词
Arraylist<TreeNode>a = new Arraylist<TreeNode>();//新建的节点需要插入输入的单词
while(1)//模拟不停输入字符
{
char c = cin.next.charAt(0);//输入一个字符
str+=c;//拼接单词
if(now.child[c-'a']==null)//无节点则新建一个
{
TreeNode n = new TreeNode();
now.child[c-'a'] = n;
a.add(n);//新建节点最后插入输入的单词
}
else
{
now = now.child[c-'a'];
/*
输出当前now节点arr中的所有单词
我直接写伪代码了
*/
}
}
/*
最后一步
把a中所有TreeNode节点都插入一个str字符串
*/
}