private void findMaxSub(String str1, String str2) {
int ruler = str2.length();
String sub = null;
l1 : while (ruler > 0) { // 只要尺子不为0就循环
// 用这个长度取子串
int begin = 0; // 每次从短串中取子串, 总是从0开始取
while (begin + ruler <= str2.length()) { // 以ruler为长度, 从短串中取子串.
sub = str2.substring(begin, begin + ruler); // 保证子串的长度永远是ruler
// 测试子串是否在长串中存在
if (str1.indexOf(sub) != -1) {
// 如果能, 总任务达成
break l1;
}
begin++; // 如果没有找到, 则向右移动一位再取子串
}
// 长度变短
ruler--;
}
if (ruler > 0) {
System.out.println(sub);
} else {
System.out.println("没有最大相同子串");
}
}
Java(String)获取两个字符串中最大相同子串
最新推荐文章于 2024-07-22 14:54:10 发布