黑马程序员技术交流社区
标题:
Java基础--String练习4--获取两个字符串中最大相同子串
[打印本页]
作者:
michael_wlq
时间:
2015-9-14 19:39
标题:
Java基础--String练习4--获取两个字符串中最大相同子串
本帖最后由 michael_wlq 于 2015-9-14 19:42 编辑
获取两个字符串中最大相同子串:
例如字符串"abcwerthelloyuiodef"和 "cvhellobnm"
思路: 1.将短的那个子串按照长度递减的方式获取到;
2. 将每获取到的子串去长串中判断是否包含,如果包含,则找到最长子串。
实现示例
public class StringTest4 {
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);
//sop(temp);
if (max.contains(temp))// 等价于if(s1.indexOf(temp)!=-1)
return temp;
}
}
return "";
}
public static void main(String[] args) {
String s1 = "cvhellobnm";
String s2 = "abcwerthelloyuiodef";
sop(getMaxSubString(s2, s1));
}
public static void sop(String str) {
System.out.println(str);
}
}
复制代码
作者:
史世锋
时间:
2015-9-14 21:17
感谢分享哇
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2