首页 > 其他分享 >查出两个字符串中的最长字串

查出两个字符串中的最长字串

时间:2022-09-07 23:44:21浏览次数:72  
标签:max String min int str2 str1 字串 查出 字符串

import java.util.Scanner;

public class test01 {
public static void main(String[] args) {
/* Scanner scanner = new Scanner(System.in);
String str1=scanner.nextLine();
String str2=scanner.nextLine();
test01 test=new test01();
System.out.println(test.find(str1,str2));*/
System.out.println(find("abcdkefglls","sslkllllllls"));

}

public static String find(String str1, String str2) {
String max="";
String min="";
//一些基础的判断
if(str1==null||str2==null||str1.isEmpty()||str2.isEmpty()){
return null;
}
if(str1.length()>=str2.length()){
max=str1;
min=str2;
}else{
max=str2;
min=str1;
}

for (int i=0;i<min.length(); i++) {
for (int beg = 0, end = min.length()-i; end <=min.length(); beg++,end++) {
//for(int beg=0,end=min.length()-i;end<=min.length();beg++,end++)
String s = min.substring(beg, end);
if (find2(max, s)){
return s;
}

}

}

return null;
}
public static boolean find2(String str1,String str2){
String min="";
String max="";
if(str1==null||str2==null){
return false;
}
if(str1.length()>str2.length()){
max=str1;
min=str2;
}else{
max=str2;
min=str1;
}
String s="";
for (int i=0;i<max.length();i++){
int index=i;
for ( int j=0;j<min.length();j++){
if (max.charAt(index)==min.charAt(j)){
s+=min.charAt(j)+"";
index++;
}else {
s="";
break;
}

}

if (s.equals(min))
return true;

}

return false;
}
}

标签:max,String,min,int,str2,str1,字串,查出,字符串
From: https://www.cnblogs.com/koushijun575/p/16667748.html

相关文章