public static String getMaxSubString(String str1,String str2)
{
String max = null,min = null;
if(str1.length()>str2.length()) //先区分出大串和小串
{
max = str1;
min = str2;
}
else
{
max = str2;
min = str1;
}
for(int x = 0;x<min.length();x++) //外循环进行共同串的长度进行从大到小的遍历
{
for(int a = 0,b = min.length()-x;b!=min.length()+1;a++,b++) //内部循环进行同一长度子串的查找遍历
{
String maxSub = min.substring(a, b);
if(str1.contains(maxSub))
{
return maxSub;
}
}
}
return null;
}
public static void main(String[] args)
{
String str = "cr7goalx3wowcr7cr9ohcr7goalx1wowcr7goalx2cr7goalx2kingcr7goalx1biucr7goalx3woooowcr7goalx2";
String sub = "cr7goalhicrcr9cr7goalx2wow";
System.out.println(getMaxSubString(str,sub));
}
结果:
cr7goalx2
-------------