题解 | #查找两个字符串a,b中的最长公共子串#
查找两个字符串a,b中的最长公共子串
https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
// while (in.hasNextInt()) { // 注意 while 处理多个 case
// int a = in.nextInt();
// int b = in.nextInt();
// System.out.println(a + b);
// }
String s1 = in.next();
String s2 = in.next();
if (s1.length() > s2.length()) {
System.out.print(sameSubStr(s1, s2));
} else {
System.out.print(sameSubStr(s2, s1));
}
}
private static String sameSubStr(String longStr, String shortStr) {
int len = shortStr.length();
for (int i = len; i > 0; i--) {
for (int j = 0; j < len - i + 1; j++) {
String sub = shortStr.substring(j, i + j);
if (longStr.contains(sub)) {
return sub;
}
}
}
return null;
}
}
