如何求两个字符串中最大 的相同的子串?
以下是用java编写的程序
public class StingTest4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 两个字符串中最大的相同的子串
*
* */
String str1="abcbbefijgiopliwo";
String str2="abbefidsmoiwolf";
String maxSubstr= getMaxSubstr(str1,str2);
System.out.println(maxSubstr);
}
public static String getMaxSubstr(String str1, String str2) {
// TODO Auto-generated method stub
String longStr=str1.length()>str2.length()?str1:str2;
String shortStr=str1.equals(longStr)?str2:str1;
for(int x=0;x<shortStr.length();x++){
for(int y=0, z=shortStr.length()-x;z<=shortStr.length();y++,z++){
String temp=shortStr.substring(y, z);
if(longStr.contains(temp))
return temp;
}
}
return null;
}
}
结果:
bbefi