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

str1 = “abcwerthelloyuiodef“;str2 = “cvhellobnm

  1. private ArrayList<String> getMaxSameString(String str1,String str2){
  2. String maxStr=str1.length()>=str2.length()?str1:str2;
  3. String minStr=str1.length()<str2.length()?str1:str2;
  4. ArrayList<String> list=new ArrayList<>();
  5. int len = minStr.length();
  6. for(int i=0;i<len;i++){
  7. for(int x=0,y=len-i;y<=len;x++,y++){
  8. String subStr=minStr.substring(x,y);
  9. if(maxStr.contains(subStr)){
  10. list.add(subStr);
  11. }
  12. }
  13. if(list.size()>0){
  14. break;
  15. }
  16. }
  17. return list;
  18. }