网站开发盈利模式,昆明的房产网站建设,互联网巨头是哪几家,做ag视频大全网站题目描述#xff1a;
Trie#xff08;发音类似 try#xff09;或者说 前缀树 是一种树形数据结构#xff0c;用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景#xff0c;例如自动补完和拼写检查。
请你实现 Trie 类#xff1a;
…题目描述
Trie发音类似 try或者说 前缀树 是一种树形数据结构用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景例如自动补完和拼写检查。
请你实现 Trie 类
Trie() 初始化前缀树对象。void insert(String word) 向前缀树中插入字符串 word 。boolean search(String word) 如果字符串 word 在前缀树中返回 true即在检索之前已经插入否则返回 false 。boolean startsWith(String prefix) 如果之前已经插入的字符串 word 的前缀之一为 prefix 返回 true 否则返回 false 。 示例
输入
[Trie, insert, search, search, startsWith, insert, search]
[[], [apple], [apple], [app], [app], [app], [app]]
输出
[null, null, true, false, true, null, true]解释
Trie trie new Trie();
trie.insert(apple);
trie.search(apple); // 返回 True
trie.search(app); // 返回 False
trie.startsWith(app); // 返回 True
trie.insert(app);
trie.search(app); // 返回 True提示
1 word.length, prefix.length 2000word 和 prefix 仅由小写英文字母组成insert、search 和 startsWith 调用次数 总计 不超过 3 * 104 次
代码 很简单的自己设计类的一个题目。
class Trie {SetString setnew HashSet();public Trie() {}public void insert(String word) {set.add(word);}public boolean search(String word) {return set.contains(word);}public boolean startsWith(String prefix) {for(String item:set){if(item.startsWith(prefix)){return true;}}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);*/