比如有两个字符串,上海虹桥、虹桥国际机场,连接起来为上海虹桥国际机场
public static String trimjoinString(String str1,String str2){
if(str1==null&&str2==null){
return "";
}else if(str1!=null&&str2==null){
return str1;
}else if(str1==null&&str2!=null){
return str2;
}else{
int repeatTemp = 0,maxRepeat = 0;
int str1Len = str1.length();
int str2Len = str2.length();
int minLen = 0;
if(str1Len>str2Len){
minLen = str2Len;
}else{
minLen = str1Len;
}
for(int i=0;i<minLen;i++){
repeatTemp = 0;
for(int k=str1Len-i-1,j=0;k<str1Len&&j<str2Len&&j<=i;k++,j++){
if(str1.charAt(k)==str2.charAt(j)){
repeatTemp++;
}else{
break;
}
}
if(maxRepeat<repeatTemp){
maxRepeat = repeatTemp;
}
}
return str1 + str2.substring(maxRepeat);
}
}
public static void main(String[] args){
System.out.println(trimjoinString("上海虹桥","虹桥国际机场"));
System.out.println(trimjoinString("上海虹桥","上海虹桥国际机场"));
}