题解 | #查找两个字符串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); String string1 = in.nextLine(); String string2 = in.nextLine(); String commonStr = ""; if (string1.length() < string2.length()) { commonStr = getCommonStr(string1, string2); } else { commonStr = getCommonStr(string2, string1); } System.out.println(commonStr); } private static String getCommonStr(String str1, String str2) { String tmp = ""; for (int i=0; i< str1.length(); i++) { for (int j=i; j <= str1.length(); j++) { String sub = ""; if (j == str1.length()) { sub = str1.substring(i); } else { sub = str1.substring(i, j); } if (str2.indexOf(sub) != -1) { if (sub.length() > tmp.length()) { tmp = sub; } } } } return tmp; } }