两个字符串中最大相同的子串

求得短的字符串和长的字符串两个字符串中相同的字符串段。  

 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

猜你喜欢

转载自blog.csdn.net/qq_40207976/article/details/83115553