第十六题 功能描述:查找一个字符串的子字符串集输入:abab输出:a b ab ba aba bab要求实现方法: public List getChildren(String data) { List list = new ArrayList(); //TODO return list; } import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; /** * 功能描述:查找一个字符串的子字符串集 * 输入:abab * 输出:a b ab ba aba bab * 要求实现方法: public List<String> getChildren(String data) { List<String> list = new ArrayList<String>(); //TODO return list; } * @author lx * */ public class Test { public static void main(String[] args) { System.out.println(getChildren("abab")); } /** * 可以直接用set去重,只是题目中给了list * @param data * @return */ public static List<String> getChildren(String data) { List<String> list = new ArrayList<String>(); Set<String> set = new HashSet<String>(); char[] charData = data.toCharArray(); for (int i = 0; i < charData.length; i++) { for (int j = 1; j <= charData.length - i; j++) { String str = data.substring(i, j + i); set.add(str); } } list.addAll(set); // 去掉字符串本身 list.remove(data); return list; } }