题目
找出字符串babcdabdabcdb中出现的相同且长度最长的字符串,输出它及其首字符的位置。
思路
注意这道题和上一篇的不同,上一篇是求字符串中连续出现次数最多的子串。
不过,这两道题都有共同点,都可以用后缀字符串组来帮助解决。
本题中先将字符串进行后缀分解,对得到的后缀子字符串组排序,然后比较相邻字符串的前驱,这样就可以求出最长的公共前驱了。
代码
//
// Created by huxijie on 17-3-13.
// 字符串中重复出现的最长子串
#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;
//比较函数,用于sort调用