写一个方法,要求能获取2个字符串的所有的最大相同子串,返回一个集合
例如:sop(getMaxSubString("daccedbccfuhcfedjjfjba","dabccfedfjba"));
运行结果为:[bccf, cfed, fjba];
- public static ArrayList<String> getMaxSubString(String str1,String str2)//获取两个字符串中所有最大相同子串。
- {
- String minstr,maxstr;
- ArrayList<String> result=new ArrayList<String>();
- boolean flag=true;
- maxstr=(str1.length()>str2.length())?str1:str2;
- minstr=(maxstr==str1)?str2:str1;
- for(int i=1;i<=minstr.length()&&flag==true;i++){
- for(int start=0,end=minstr.length()-i;end!=minstr.length();start++,end++){
- String temp=minstr.substring(start,end+1);
- if(maxstr.contains(temp)){
- result.add(temp);
- flag=false;
- }
- }
- }
- return result;
- }
复制代码
|
|