如何在后缀树中打印字符串

时间:2014-03-12 12:59:11

标签: c++ c algorithm suffix-tree

我很难在后缀树中打印最长的公共子字符串。我可以很容易地计算出最长公共子字符串的长度,但在实际找到子字符串时遇到问题.Below是C ++中Longest Common Substring的代码。有人请帮帮我吗?

1 个答案:

答案 0 :(得分:0)

添加变量:

int start = -1;

替换:

ans=max(ans,l);

使用:

if (l > ans) {
  ans = l;
  start = i;
}

最长的子串从b[start]开始,所以要在最后打印最长的子串:

printf("%.*s", ans, b + start);