我该如何删除字符串中所有重复的单词和字母?

时间:2015-06-30 11:08:23

标签: string algorithm suffix-tree

我试图从极长的字符串中删除重复2次以上的每个字符。因此,例如,单词Terrrrrrific变为Terrific

现在我的问题是,如何以相同的方式过滤掉包含多个字符的重复,即如果我有Words words words words words我想将其过滤到words words,但是,它可能不那么明智,例如abcdabcdabcdabcdabcd应该成为abcdabcd

我怀疑我应该使用后缀树,但我不确定如何准确地使用算法。

1 个答案:

答案 0 :(得分:0)

我不知道,这是一种有效的算法,但你可以这样做:

  1. 选择查找重复的长度
  2. 然后,对于从0到长度为1的每个起点,请通过字符串
  3. 维护堆栈(如果堆栈中的前两个与堆栈不同,则使用不相交的子串并推送堆栈)