知识点 | 字符串,查找 |
---|---|
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入两个字符串 |
输出 | 输出一个整数 |
样例输入 | asdfas werasdfaswer |
样例输出 | 6 |
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str1 = sc.next().toLowerCase();
String str2 = sc.next().toLowerCase();
sc.close();
System.out.println(getCommonStrLength(str1, str2));
}
private static int getCommonStrLength(String str1, String str2) {
int length = 0;
/*定义两个for循环遍历整个字符串,这样字符串每一个子段都能遍历到
* 注意这里都是 <= str1.length(),因为使用substring(),如果只是 <str1.length()
* 会导致最后一个字符读取不到
* */
for (int i = 0; i <= str1.length(); i++) {
for (int j = 0; j <= str1.length(); j++) {
if (i + j <= str1.length()) {
if (str2.contains(str1.substring(j, i + j))) {
if (length <= str1.substring(j, i + j).length())
length = str1.substring(j, i + j).length();
}
}
}
}
return length;
}
}