1. 程式人生 > >兩個字串中最大相同的子串

兩個字串中最大相同的子串

求得短的字串和長的字串兩個字串中相同的字串段。  

 public static String getMaxSubString(String s1, String s2) {
        String max = null, min = null;

        max = (s1.length() > s2.length()) ? s1 : s2;

        min = max.equals(s1) ? s2 : s1;

        for (int i = 0; i < min.length(); i++) {
            for (int a = 0, b = min.length() - i; b != min.length() + 1; a++, b++) {
                String sub = min.substring(a, b);
                if (max.contains(sub))
                    return sub;

            }
        }

        return null;
    }

 

測試:

        String s = "sdfaagdsssffddsfaf";
        String b = "fadsssffddcsdf";
        System.out.println(MaxEqual.getMaxSubString(b,s));

輸出結果:

dsssffdd