一个字符串'hello',如何列出所有单词以及每个单词的数量。 普通后缀树算法只返回后缀,意味着不会出现中间词'll'。谁能帮我一步步解决?
最佳答案
初始化哈希表。
使用双循环(for 内 for)。一个循环索引将代表子串的开头,另一个代表结尾。确保结束索引严格大于开始索引,并且两者都在字符串边界内。
对于遇到的每个子字符串,检查它是否在散列中。如果不是 - 将其添加为键,值为 1。如果是 - 增加当前保存的值。
编辑:根据您的评论:
for(b = 0; b < len; ++b) {
for(e = b + 1; e <= len; ++e) {
//process substring from index b (incl.) to index e (excl.)
}
}
这将按以下顺序遍历字符串“abcd”:
a ab abc abcd b bc bcd c cd d
关于字符串处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7479914/