- 将字符串做好长短区别区分,以从长到短的方式进行比较确认操作
@Test
public void getLargestSubstringOfTwoStringsTest(){
String str1 = "abchellowordahahau";
String str2 = "abcwordhahau";
String result = getLargestSubstringOfTwoStrings(str1, str2);
System.out.println(result);
}
public String getLargestSubstringOfTwoStrings(String str1, String str2) {
String substring = "";
if (empty(str1) || empty(str2)) {
return substring;
}
String longerStr = str1.length() > str2.length() ? str1 : str2;
String shorterStr = longerStr.equals(str1) ? str2 : str1;
for (int length = shorterStr.length(); length > 0; length--) {
for (int startIndex = 0; startIndex <= (shorterStr.length() - length); startIndex++) {
substring = shorterStr.substring(startIndex, startIndex + length);
if (longerStr.contains(substring)) {
return substring;
}
}
}
return substring;
}
private boolean empty(String str) {
if (str == null || str.trim() == "") {
return true;
}
return false;
}