1. 程式人生 > >兩字串尋找最大相同子串

兩字串尋找最大相同子串

1.s1.contains(sub)  存在返回true

2.把較短字串先與長的contains,存在則輸出;不存在則減一再contains

public class StringTest_3 {

public static void main(String[] args) {
String s1="jielLeaHappyChildDayChildDayewqdx";
String s2="IslsamdfLeaHappyChildDayge";

String s=getMaxSubstring(s1,s2);
System.out.println("相同最大串為:" +s);
}

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

                                                                                  // 控制初始和結尾,同時向右平移,且不讓結尾超出長字串 

for (int i = 0; i < s2.length(); i++) {                                                    //控制要減得長度

for (int a = 0, b = s2.length() - i; b != s2.length() + 1; a++, b++)   

{
String sub = s2.substring(a, b);
// System.out.println(sub);
if (s1.contains(sub))
return sub;
}
}
return null;
}

}

執行結果:


題目出處:畢向東-15-11