题解 | #查找两个字符串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[] strs = new String[2]; int index = 0; // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextLine()) { // 注意 while 处理多个 case String str = in.nextLine(); strs[index] = str; if(index == 1){ break; } index ++; } String result = findMaxChildString(strs[0],strs[1]); System.out.println(result); } public static String findMaxChildString(String str1, String str2){ String result = ""; if ( str1.length() > str2.length() ){ String temp = str1; str1 = str2; str2 = temp; } for ( int i = 0; i < str1.length(); i++ ){ for ( int j = i+1; j <= str1.length(); j++ ){ String curStr = str1.substring(i,j); if( str2.contains(curStr) ){ if (curStr.length() > result.length()){ result = curStr; } }else { break; } } } return result; } }