您的位置:首页 > 其它

获取两个字符串中最大相同子串的实现

2015-09-16 10:07 501 查看
/**
* 获取两个字符串中最大相同子串。第一个动作:将短的那个串进行长度一次递减的子串打印。
* "abcwerthelloyuiodef"
* "dvhellobnm"
* 思路:
*    1,将短的那个子串按照长度递减的方式获取到
*    2,将没获取到的子串去长串中判断是否包含,
*       如果包含,已经找到!。
*/
@Test
public void MaxSubString(){
String s1="abcwerthelloyuiodef";
String s2="dvhellobnm";
String maxStr = getMaxSubString(s1,s2);
System.out.println(maxStr);
}
public 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)){
return temp;
}
}
}
return null;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: