本帖最后由 yufeiant 于 2012-7-3 16:52 编辑
/*
* 需求:求两个字符串的最大相同子串。
* 比如:
* "sadabcdfghjkl"
"werabcdtyu"
*/
public class StringTest3 {
public static void main(String[] args) {
String s1 = "sadabcdfghjkl";
String s2 = "werabcdtyu";
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 = s1.length() <= s2.length() ? s1 : s2;
for(int x=0; x<min.length(); x++){
for(int y=0,z=min.length()-x; z<=min.length(); y++,z++){
String temp = min.substring(y,z);
if(max.contains(temp)){
return temp;//这个算法这里怎么都不明白,没有想到for循环还可以这么玩,求高手帮助,谢谢
}
}
}
return null;
}
}
|