// 最大相同字串
public static String maxSameStr(String str1, String str2) {
// 判断字符串是否为空
if (str1 != null && str2 != null) {
// 获取长串和短串
String maxStr = (str1.length() >= str2.length()) ? str1 : str2;
String minStr = (str1.length() < str2.length()) ? str1 : str2;
// 获取短串的长度
int length = minStr.length();
// 以短串为第一次循环遍历
for (int i = 0; i < length; i++) {
// 双指针从前到后和从后到前遍历,保证获得的是最长字串
for (int j = 0, k = length - i; k <= length; j++, k++) {
// 截取字符串
String result = minStr.substring(j, k);
// 判断长串是否包含短串
if (maxStr.contains(result)) {
return result;
}
}
}
}
return null;
}