LeetCode 208: Implement Trie (Prefix Tree)
来源:互联网 发布:撕开照片衣服的软件 编辑:程序博客网 时间:2024/05/29 05:11
LeetCode 208: Implement Trie (Prefix Tree)
思路
- 使用HashMap存储后代,节省空间;
- 需要设定一个boolean值来表示是否该节点为一个单词的结束;
代码
class TrieNode { // Initialize your data structure here. public HashMap<Character,TrieNode> map; public boolean flag = false; public TrieNode() { map = new HashMap<Character,TrieNode>(); }}public class Trie { private TrieNode root; public Trie() { root = new TrieNode(); } // Inserts a word into the trie. public void insert(String word) { TrieNode node = root; int index = 0; while (index < word.length() && node.map.containsKey(word.charAt(index))) { node = node.map.get(word.charAt(index)); index++; } while (index < word.length()) { node.map.put(word.charAt(index), new TrieNode()); node = node.map.get(word.charAt(index)); index++; } node.flag = true; } // Returns if the word is in the trie. public boolean search(String word) { TrieNode node = root; for (int i = 0; i < word.length(); i++) { char tmp = word.charAt(i); if (!node.map.containsKey(tmp)) return false; node = node.map.get(word.charAt(i)); } return node.flag; } // Returns if there is any word in the trie // that starts with the given prefix. public boolean startsWith(String prefix) { TrieNode node = root; for (int i = 0; i < prefix.length(); i++) { char tmp = prefix.charAt(i); if (!node.map.containsKey(tmp)) return false; node = node.map.get(prefix.charAt(i)); } return true; }}
1 0
- leetcode:Trie:Implement Trie (Prefix Tree)(208)
- LeetCode 208 - Implement Trie (Prefix Tree)
- Leetcode 208: Implement Trie (Prefix Tree)
- Leetcode NO.208 Implement Trie (Prefix Tree)
- LeetCode 208: Implement Trie (Prefix Tree)
- LeetCode-208 Implement Trie (Prefix Tree)
- LeetCode 208 Implement Trie (Prefix Tree)
- LeetCode 208 Implement Trie (Prefix Tree)
- LeetCode(208)Implement Trie (Prefix Tree)
- [LeetCode 208] Implement Trie (Prefix Tree)
- [leetcode-208]Implement Trie (Prefix Tree)(java)
- leetcode 208: Implement Trie (Prefix Tree)
- LeetCode 208 Implement Trie (Prefix Tree)
- leetcode-208-Implement Trie (Prefix Tree)
- LeetCode 208: Implement Trie (Prefix Tree)
- leetcode[208]:Implement Trie (Prefix Tree)
- LeetCode 208 Implement Trie (Prefix Tree)
- LeetCode[208] Implement Trie (Prefix Tree)
- 视频播放
- SharedPreferences详解
- LightOJ 1010 Knights in Chessboard
- jsp生成html
- Android WebView与JS的交互
- LeetCode 208: Implement Trie (Prefix Tree)
- 再探指针
- Comparable与Comparator的区别
- 数据的操作
- ATL 入门基础
- Python 入门:装饰器(decorator)、@functools.wraps、@staticmethod、@classmethod
- Spark 基础及RDD基本操作
- HTML常用符号
- mysql 修改列为not null报错Invalid use of NULL value