题解 | #查找两个字符串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);
}
}
