1. 程式人生 > >核心API的使用(獲取兩個字符串的最大相同子串)

核心API的使用(獲取兩個字符串的最大相同子串)

ins for system bst span sam sub string 三目運算


/**
* 獲取兩個字符串的最大相同子串。 例:abegad acegab

*/
public class TheSameString {
public static void main(String[] args) {
String s1 = "abegad";
String s2 = "acegab";
String maxString = maxSubString(s1, s2);
System.out.println("最大的相同子串為:" + maxString);
}

public static String maxSubString(String s1, String s2) {


// 判斷s1和s2的長度,明確判斷哪個是長串,短串
String maxStr;
String minStr;
/**
* 判斷如果s1的長度大於s2的長度, 那麽maxStr就是s1,反之則是s2. 非常適合用三目運算.因為三目運算符恰好是需要一個運算的結果的
*/
maxStr = (s1.length() > s2.length()) ? s1 : s2;
minStr = (maxStr.equals(s1)) ? s2 : s1;

for (int i = 0; i < minStr.length(); i++) {
for (int start = 0, end = minStr.length() - i; end <= minStr.length(); start++, end++) {


String temp = minStr.substring(start, end);
if (maxStr.contains(temp)) {
return temp;
}
}
}
return "沒有相同字符串";
}
}

核心API的使用(獲取兩個字符串的最大相同子串)