In this post, we will see java program to find all substrings of a String.
For example: If input is “abb” then output should be “a”, “b”,”b”, “ab”, “bb”, “abb”
For example: If input is “abb” then output should be “a”, “b”,”b”, “ab”, “bb”, “abb”
We will use String class’s subString method to find all subString
Program:
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));
}
}
}
}
When you run above program, you will get following output:
All substring of abbc are: a ab abb abbc b bb bbc b bc c
Above solution is of o(n^3) time complexity. As we have two loops and also String’s substring method has a time complexity of o(n)
If you want to find all distinct substrings of String,then use HashSet to remove duplicates.
Please go through Frequently asked java interview Programs for more such programs.