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