题解 | #HJ065 查找两个字符串a,b中的最长公共子串#

查找两个字符串a,b中的最长公共子串

http://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506

import java.util.Scanner;

/**
 * HJ65 查找两个字符串a,b中的最长公共子串-中等
 */
public class HJ065 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String s1 = sc.nextLine();
            String s2 = sc.nextLine();
            String maxSubStr = getMaxSubStr2(s1, s2);
            System.out.println(maxSubStr);
        }
        sc.close();
    }

    private static String getMaxSubStr2(String s1, String s2) {
        String longStr = s1.length() > s2.length() ? s1 : s2;
        String shortStr = s1.length() <= s2.length() ? s1 : s2;
        String maxSubStr = "";
        for (int i = 0; i < shortStr.length(); i++) {
            for (int j = 0; j < i + 1; j++) {
                String subStr = shortStr.substring(j, shortStr.length() - i + j);
                if (longStr.contains(subStr)) {
                    return subStr;
                }
            }
        }
        return maxSubStr;
    }
}
全部评论

相关推荐

04-17 10:16
门头沟学院 Java
小浪_coder:24届很难找了,马上25的都毕业了还有很多没找到的
点赞 评论 收藏
分享
牛客ID:561366855:期望薪资多少?难以相信这简历找不到工作。说明二本电子信息专业想对口就业非常难。
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务