刚看到一位优快云博主参加阿里电面,题目如下:
给定一个字符串,输出其所有连续子串,如:给定字符串为abcd,则要输出的其全部连续子串为:a,b,c,d,ab,bc,cd,abc,bcd,abcd
我第一感觉就是一个嵌套循环Java代码如下:
public class Test {
public static void main(String[] args) {
String str = "abcd";
for (int i = 0; i <= str.length(); i++) {
for (int j = i + 1; j <= str.length(); j++) {
System.out.println(str.substring(i, j));
}
}
}
}
打印结果如下:
a
ab
abc
abcd
b
bc
bcd
c
cd
d
题目看似简单,不过考官可能有其他的目的,或者不是用Java代码去实现。