java获取两个字符串中最大子串

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

1.程序

package Demo2;

public class Compare {
//获得两个字符串的最大子串,首先定义方法将两个字符串传入
public static String GetMaxString(String str1, String str2) {
//比较两个字符串大的为max,小的为min.
String max = (str1.length() > str2.length()) ? str1 : str2;
String min = max.equals(str1) ? str2 : str1;
//对小的字符串进行遍历,截取从last到right,看max字符串中是否含有所截取字符,如果有,则结束。
//否则继续last++,right--截取字符串与max中字符串比较
for (int i = 0; i < min.length(); i++) {
for (int last = 0, right = min.length() - i; right != min.length() + 1; last++, right--) {
String sub = min.substring(last, right);
if (max.contains(sub)) {
return sub;
}
}
}
return null;
}

public static void main(String[] args) {
String s1 = "wwwabcdqqqwww";
String s2 = "xxxxxxxxxxabcdqqqyyyyyyyyy";
String s = GetMaxString(s1, s2);
System.out.println(s);
}

}

2.截图

java获取两个字符串中最大子串