题目摘自 http://blog.csdn.net/ns_code/article/details/21043665
题目
给定一个字符串,输出其所有连续子串,如:给定字符串abcd,则要输出的其全部连续子串为:a, b, c, d, ab, bc, cd, abc, bcd, abcd
解决思路
根据题目给定输出顺序可以看出子串长度为1-n,每个长度的子串起始位置为源串顺序从左到右;故做两层循环,第一层做子串长度的循环,第二层循环做开始位置的循环
代码
/**
* 暴力搜索求解
* @param str
*/
public static void violenceSerch(String str) {
for (int length = 1; length <= str.length(); length ++) {
for (int startIndex = 0; startIndex <= (str.length() - length); startIndex ++) {
int endIndex = startIndex + length;
if (length < str.length()) {
System.out.print(str.substring(startIndex, endIndex) + ", ");
} else {
System.out.print(str.substring(startIndex, endIndex));
}
}
}
}
输出结果
a, b, c, d, ab, bc, cd, abc, bcd, abcd