package com.zhicheng;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;
public class ZhaoDaoZuiChangDanCi {
//找到字符串是否在字符数组里面
public static boolean find(String[] strArray, String str) {
for (int i = 0; i < strArray.length; i++) {
if (str.equals(strArray[i])) {
return true;
}
}
return false;
}
//截取字符串,看该字符串是否包含在数组里面
public static boolean isContains(String[] strArray, String word, int length) {
int i = 0;
if (word.length() == 0) {
return true;
}
for (i = 1; i < word.length(); i++) {
if ((i+1) == length) {
return false;
}
String str = word.substring(0, i+1);
if (find(strArray, str)) {
if (isContains(strArray, word.substring(i+1), length)) {
return true;
}
}
}
return false;
}
public static String getLongestStr(String[] strArray) {
int i = 0;
for (i = 0; i < strArray.length; i++) {
if (isContains(strArray, strArray[i], strArray[i].length())) {
return strArray[i];
}
}
return null;
}
public static void main(String[] args) throws IOException {
int i = 0;
int j = 0;
String[] strArray = { "test", "tester", "testertest", "testing", "apple", "seattle", "banana", "batting",
"ngcat", "batti", "bat", "testingtester", "testbattingcat" };
for (i = 1; i < strArray.length; i++) {
for (j = 0; j < strArray.length - i; j++) {
if (strArray[j].length() < strArray[j + 1].length()) {
String temp = strArray[j];
strArray[j] = strArray[j + 1];
strArray[j + 1] = temp;
}
}
}
String string = getLongestStr(strArray);
System.out.println(string);
}
}