获取两个字符串中最大相同子串-JAVA

 * @Description  获取两个字符串中最大相同子串
 * 思路:
 *1,将短的那个子串按照长度递减的方式获取到。因为是获取最大相同子串,所以短字符串一次从最长单位开始,获取子串集。
 *  先找最长的,后找次长的,依次递减,直到找到或直到最后。
 *  类似循环拿一个写有短字符串的子串的纸条,在写有长字符串的纸条上,从左依次整体移动,看是否匹配。如果匹配则找到
 *  如果没匹配,则拿下一个子串继续进行匹配操作。
 *2,将每获取到的子串去长串中判断是否包含,如果包含,已经找到!

public class getMaxSubString {

    public static void main(String[] args) {
        String str1="wodileod489834yhpzeasdoifjenmkezeas2doifjenm";
        String str2="cdhelloezeasdoifjenmsadcedf";
        //zeasdoifjenm
        String maxsubstr=getSonString(str1,str2);
        System.out.println(maxsubstr);
    }

    private static String getSonString(String a, String b) {
        String maxstr=null;
        String minstr=null;
        String tempstr="";
        maxstr=(a.length()>b.length())?a:b;
        minstr=(maxstr==a)?b:a;
        
        for1:for (int i = 0; i 

 

你可能感兴趣的:(JAVA)