黑马程序员技术交流社区

标题: 练习:获取两个字符串的最大子串 [打印本页]

作者: fmi110    时间: 2015-10-5 11:32
标题: 练习:获取两个字符串的最大子串
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. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2