求问这一题为什么会超时啊,我就是按implement trie那题的思路建立trie,然后用递归做dfs,代码应该没什么问题,但就是超时了,是建树有什么复杂度低一点的方法吗
public class WordDictionary {
private TrieNode root= new TrieNode();
// Adds a word into the data structure.
public void addWord(String word) {
HashMap<Character,TrieNode> children=root.children;
TrieNode next=null;
for(int i=0;i<=word.length()-1;i++)
{
char c=word.charAt(i);
if(children.containsKey(c))
{
next=children.get(c);
children=next.children;
}
else
{
next=new TrieNode(c);
children.put(c,next);
children=next.children;
}
if(i==word.length()-1) next.isLeaf=true;
}
}
// Returns if the word is in the data structure. A word could
// contain the dot character '.' to represent any one letter.
public boolean search(String word) {
return searchhelper(root,word,0);
}