T9键盘是一种常用的手机输入法,它将每个数字键映射到一些字母上,用户可以通过按数字键输入单词的首字母,并在此基础上得到该单词的候选列表。
为了实现T9键盘,可以使用Trie树数据结构。Trie树可以支持快速查询字符串的前缀,也可以轻松维护字典中的单词列表。
首先,需要构建一棵Trie树,把字典中的单词插入树中,其中每个节点代表一个字母,每个节点还有一个布尔值,用来标识该单词是否是字典中的单词。
接下来,对于每个输入的数字,可以在Trie树上执行从根节点到该数字对应的字母的所有节点的搜索,并将所有以该数字对应的字母为结尾的单词的前缀收集到候选列表中。
最后,当用户输入更多的数字时,可以缩