For String A = "abcd" then answer should be
{a,ab,abc,abcd,b,bc,bcd,c,cd,d}
To find all the substring I have used following method
for (int i = 0; i < A.length(); i++) {
for (int j = i+1; j <= A.length(); j++) {
System.out.println(A.substring(i,j));
}
}
But according to my understanding the complexity goes to O(N^2)
. Can we make it faster? I referred previous question and there was link for suffix tree but it doesn't seem to solve my problem. The output which I get from suffix tree is
{
1: abcd
2: bcd
3: cd
4: d
}
Can any one please help me out to find fastest way to do this? Something like in linear time?