在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删除重复项。