在Java中查找字符串的所有子字符串
时间:2020-02-23 14:34:09 来源:igfitidea点击:
在本教程中,我们将看到Java程序以查找字符串的所有子字符串。
例如:如果输入是"ABB",则输出应为"A","B","B","AB","BB","ABB"
我们将使用String类的子字符串方法来查找所有子字符串
程序:
class SubstringsOfStringMain
{
public static void main(String args[])
{
String str="abbc";
System.out.println("All substring of abbc are:");
for (int i = 0; i < str.length(); i++) {
for (int j = i+1; j <= str.length(); j++) {
System.out.println(str.substring(i,j));
}
}
}
}
运行上面的程序时,我们将获取以下输出:
All substring of abbc are: a ab abb abbc b bb bbc b bc c
以上解决方案是O(n ^ 3)时间复杂性。
由于我们有两个循环,并且字符串的子字符串方法如果要查找字符串的所有不同子字符串,则字符串的子字符串方法具有O(n)的时间复杂度,则使用HashSet删除重复项。

