JAVA两个字符串截取相同的最长子字符串

来源:互联网 发布:西蒙智力量表软件 编辑:程序博客网 时间:2024/04/30 14:49

题目:

Java中字符串,比较两个不同的字符串,取出其中相同的子串

String a ="abcdef";
String b ="fgbcdemk";

System.out.println("Max String is ="+SubString.getMaxSubString(a, b));

比较如下,思路:

1、根据长短,赋予两个字符串

2、截取子串,从一个变量开头,一个变量从结尾开始,到中间相遇后停止

3、截取子串后,在另一个串中进行比较

4、最大子串赋予返回变量

public static String getMaxSubString(String str1,String str2){
String maxStr =""; 
String str = (str1.length()>str2.length())?str1:str2;
String key = str.equals(str1)?str2:str1;

for(int i=0;i<key.length();i++){
for(int j=key.length();j>i && j>0;j--){
String temp = key.substring(i, j);

if(str.indexOf(temp)!=-1 && maxStr.length()<temp.length()){

maxStr = temp;

}
}
}

return maxStr;
}

0 0
原创粉丝点击