给定一个单词和短语数组,给定一个键,返回:
例如:
wordbank = ["bang", "base", "bore", "band", "This is a baffling problem];
key = "ba";
autocomplete(wordbank, key)
应该返回["bang", "base", "band", "This is a baffling problem]
我使用Trie来做,但只想知道是否this is a good solution?
要运行,只需在终端中输入java Test
即可。链接中的测试用例与此处的示例不同。
答案 0 :(得分:1)
可以通过以下方式简化代码。将一组自动完成结果添加到try的每个节点。在try中插入单词时,同时将自动完成集添加到每个访问节点。要执行自动完成,只需返回相应节点的自动完成集。
此解决方案向insertWord
和getWordsWithPrefix
添加了一行,同时完全消除了对buildWords
的需求。