[java]公共最长子串

        获取两个字符串中最大相同子串。比如: str1="abcwerthelloyuiodef“;str2 =“cvhellobnm”。 提示:将短的那个串进行长度依次递减的子串与较长的串比较。(前提:两个字符串中只有一个最大相同子串)

    public static String gerMaxSameString(String str1, String str2){
        String maxStr = str1.length()>=str2.length()?str1:str2;
        String minStr = str1.length()<str2.length()?str1:str2;
        int length = minStr.length();

        for(int i=0; i<length; i++){
            for(int x=0, y=length-i; y<=length; x++,y++){
                String subStr = minStr.substring(x,y);
                if(maxStr.contains(subStr)){
                    return subStr;
                }
            }
        }
        return null;
    }


版权声明:本文为weixin_43224199原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。