黑马程序员技术交流社区
标题:
获取两个字符串中最大的相同子串
[打印本页]
作者:
熊猫86
时间:
2013-12-17 23:14
标题:
获取两个字符串中最大的相同子串
毕老师的视频中“获取两个相同字符串中最大相同子串”的代码似乎存在漏洞,比如,如下的两个字符串s1和s2,其中最大相同子串应该有两个,即“gh”和“mn”,而输出的结果只有第一个找到的“gh”,因此,代码需要进一步优化,我的问题是,在最大相同子串的数量不唯一时,如何才能将所有情况打印出来?
public class StringTest3 {
public static void main(String[] args) {
String s1= "abcdefghimn";
String s2= "aghjmn";
System.out.println(getMaxSubString(s1, s2));
}
public static String getMaxSubString(String s1,String s2) {
String max = "",min = "";
max = s1.length()>s2.length()?s1:s2;
min = (max==s1)?s2:s1;
for(int x=0; x<min.length(); x++) {
for(int y=0,z=min.length()-x; z!=min.length()+1; y++,z++) {
String temp = min.substring(y,z);
if(max.contains(temp)) //if(s1.indexOf(temp)!=-1)
return temp;
}
}
return null;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2