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

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

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

import java.util.Scanner;

//拿短的那个字符串每个字符组合去和长的比较,看长串中是否包含各个组合的串,双重for循环

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String AStr = in.nextLine();
        String BStr = in.nextLine();

        //找到短的字符串
        String shortStr = AStr.length() >= BStr.length() ? BStr : AStr;
        String longStr = AStr.length() >= BStr.length() ? AStr : BStr;

        String maxLenStr = "";
        for (int i = 0; i < shortStr.length(); i++) {
            for (int j = i + 1; j <= shortStr.length(); j++) {
                String comStr = shortStr.substring(i, j);
                if (longStr.contains(comStr) && comStr.length() > maxLenStr.length()) {
                    maxLenStr = comStr;
                }

            }
        }
        System.out.println(maxLenStr);

    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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