1. 代码部分如下:
public static void main(String[] args) {
String[] aa = new String[]{"abc", "abcd", "bcfgh", "abcdd"};
System.out.print(getCommonSubWord(aa));
}
public static String getCommonSubWord(String inArr[]) {
if (inArr.length > 1) {
if (inArr[0].length() > inArr[1].length()) {
String temp = inArr[0];
inArr[0] = inArr[1];
inArr[1] = temp;
}
//第一次查询默认小的字符串就是最小字串长度
String subWord = getCommonSubWordOfTwoWord(inArr[0], inArr[1], inArr[0].length());
for (int j = 2; j < inArr.length ; j++) {
//只要有一个字符串不包含之前的最长字串,就需要基于之前的结果依次缩小最长字串
if (subWord != null && !inArr[j].contains(subWord)) {
subWord = getCommonSubWordOfTwoWord(inArr[0], inArr[1], subWord.length()-1);
j = 1;
}
}
return subWord;