@chyoo1991
2015-09-05T14:17:02.000000Z
字数 486
阅读 1275
coding
/**
* 输出字符串中的所有重复子串:
* 例如:abcab
* 输出: a, b, ab
*/
仔细想想,这题并不难,采用笨方法做的话。但是要想写出能运行,没有Bug的代码,还是需要很好的基础的。恰好我这方面还需要认真锻炼。
import java.util.Set;import java.util.HashSet;public static Set<String> getAllRepeatSubString(String s){if(s == null || s.length() == 0) return null;int len = s.length();Set<String> subSet = new HashSet<>():for(int i = 1; i <= len / 2; i++) {// i 是子字符串的长度,最大长度为 len / 2for(int j = 0; j + i <= len; j++) {String flagStr = s.substring(j, j + i);if(s.substring(j + i).contains(flagStr))subSet.add(flagStr);}}return subSet;}
