黑马程序员技术交流社区
标题:
获取两个字符串中最大相同的子串
[打印本页]
作者:
肚小糖
时间:
2015-8-25 17:16
标题:
获取两个字符串中最大相同的子串
public class StringTest2 {
public static void main(String[] args){
String s1 = "qwerabcdtyuiop";
String s2 = "xcabcdvbn";
String s = getMaxSubstring(s1, s2);
System.out.println("s = " + s);
}
public static String getMaxSubstring(String s1, String s2){
String max = null, min = null;
//max存入较长的字符串,min存入较短的字符串
max = (s1.length() > s2.length())? s1:s2;
min = max.equals(s1)? s2:s1;
//将短的字符串依长度递减,每次递减都判断max中是否包含该长度的各种字串组合(通过a++,b++实现)。
for(int i = 0; i < min.length(); i ++){
//a代表子串的开始位置,b代表子串的结束位置。
for(int a = 0, b = min.length()-i; b != min.length()+1; a++,b++){
String sub = min.substring(a,b); //获得子串
if (max.contains(sub)) //判断max中是否包含子串
return sub;
}
}
return null;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2