public class Test{
String reg,left;
public String find(String str){
//最长的重复字串,极端情况就比如abcabc,最长重复字串就是abc
//即为字符串长度的一半,当然这是极端情况,通常都是小于串长一半的
for(int len=str.length()/2;len>0;len--){
//将字符串分隔为若干“最长字串”
reg=str.substring(0,len+1);//获取“最长字串”
left=str.substring(len+1);//刨去“最长字串”剩下的串
if(left.indexOf(reg)!=-1)//如果剩下的串里面包含“最长字串”
return reg;
}
return null;
}
public static void main(String[] args){
String str=new Test().find("abcdabc");
System.out.println(str);
}
}
求一个字符串的最长重复子串
最新推荐文章于 2022-02-22 23:21:41 发布
本文介绍了一个用于寻找字符串中最长重复子串的简单算法实现。通过逐步减少检查的子串长度来查找重复项,该方法能够有效地找到给定字符串中的最长重复子串。
1190

被折叠的 条评论
为什么被折叠?



