题解 | 查找两个字符串a,b中的最长公共子串
查找两个字符串a,b中的最长公共子串
https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s1 = in.nextLine();
String s2 = in.nextLine();
int n1 = s1.length();
int n2 = s2.length();
String ans = new String("");
if (n1 > n2) {
for (int i = 0; i < n2; i++) {
StringBuilder sb = new StringBuilder();
for (int j = i; j < n2; j++) {
sb.append(s2.charAt(j));
if (s1.contains(sb.toString())) {
if (sb.toString().length() > ans.length()) {
ans = sb.toString();
}
} else {
break;
}
}
}
} else {
for (int i = 0; i < n1; i++) {
StringBuilder sb = new StringBuilder();
for (int j = i; j < n1; j++) {
sb.append(s1.charAt(j));
if (s2.contains(sb.toString())) {
if (sb.toString().length() > ans.length()) {
ans = sb.toString();
}
} else {
break;
}
}
}
}
System.out.print(ans);
}
}