两个字符串中最大的相同的子串(java编写)

时间:2023-02-16 20:21:32

如何求两个字符串中最大 的相同的子串?

以下是用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