A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

a
  1. package demo.collection;

  2. public class MaxSameSubstringDemo {

  3.         /**
  4.          * 3、两个字符串中最大相同的子串 "qwerabcdtyuiop" "xcabcdvbn"
  5.          */
  6.         public static void main(String[] args) {
  7.                 String str1 = "qwerabcdtyuiop";
  8.                 String str2 = "abcd";
  9.                 String longString = str1.length()>str2.length()?str1:str2;
  10.                 String shortString = longString.endsWith(str1)?str2:str1;
  11. //                System.out.println("longString:"+longString);
  12.                 String str = getSubstring(shortString,longString);
  13.                 System.out.println(str);

  14.         }

  15.         private static String getSubstring(String str2, String str1) {
  16.                 int len = str2.length();
  17.                 for (int i = str2.length(); i > 0; i--) {
  18.                         for (int beginIndex = 0; beginIndex < str2.length() - i; beginIndex++) {
  19.                                 String sub = str2.substring(beginIndex, beginIndex + i);
  20.                                 if (str1.contains(sub)) {
  21. //                                        System.out.println(sub);
  22.                                         return sub;
  23.                                 }
  24.                         }
  25.                 }
  26.                 System.out.println("没有匹配的");
  27.                 return null;
  28.         }
  29. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马