208.力扣实现Trie暴力解法
思路用两个哈希表一个存前缀记作prefixs一个存单词记作words每次插入时将单词的所有前缀插入prefixs中。时间5.10%空间90.29%class Trie { //暴力求解每存入一个单词将它的所有前缀都存入 //可以用树改写一下。 HashMapString,Integer prefixs new HashMap(); HashMapString,Integer words new HashMap(); int count1 0; int count2 0; public Trie() { // HashMapString,Integer prefix new HashMap(); // HashMapString,Integer words new HashMap(); // int count1 0; // int count2 0; } public void insert(String word) { if(!words.containsKey(word)){ words.put(word,count1); for(int i word.length();i 0;i--){ if(!prefixs.containsKey(word.substring(0,i))) prefixs.put(word.substring(0,i),count2); } } } public boolean search(String word) { if(words.containsKey(word)) return true; return false; } public boolean startsWith(String prefix) { if(prefixs.containsKey(prefix)) return true; else return false; } } /** * Your Trie object will be instantiated and called as such: * Trie obj new Trie(); * obj.insert(word); * boolean param_2 obj.search(word); * boolean param_3 obj.startsWith(prefix); */