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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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)); } } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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.
Was this post helpful?
Let us know if this post was helpful. Feedbacks are monitored on daily basis. Please do provide feedback as that\'s the only way to improve.