我必须找出给定单词是否可以作为词典中其他单词的开头。找出一个单词是否可以成为词典中单词的开头
我使用TreeSet实现了字典。
TreeSet词典 String startString;
问题1
什么是找出是否startString
是启动O在至少在字典中的单词的最有效方法是什么?
理念1
我的想法是使用dictionary.subSet(startString, startStringPlusOne);
哪里startStringPlusOne
是等于startString
除了最后一个字符,这是在字母表下列之一。
实施例:
startString: hom
startStringPlusOne: hon
在SubSet
返回一个空集,这意味着string
是不在字典中的单词的开始这种方式。
问题2
什么是用于计算stringPlusOne最有效的方法是什么?
理念2
我想用字符数组与字母与数组中的下列字符替换string
最后一个字母。 有没有更高效的方法?
你不能只使用:''stringPlusOne.startsWith(string)'? –
'char nextChar =(char)(currentChar + 1);'。不需要数组。 –
我想如果你正在寻找一个有效的解决方案,trie会是你需要的。 – Jack