Jak znaleźć najdłuższy powtarzający się podłańcuch danego ciągu

Jestem nową java i otrzymałem zadanie znalezienia najdłuższego podciągu ciągu. Badam online i wydaje mi się, że dobrym sposobem na rozwiązanie tego problemu będzie implementacja drzewa przyrostków. Daj mi znać, jak mogę to zrobić lub czy masz inne rozwiązania. należy pamiętać, że należy to zrobić przy niskim poziomie wiedzy Java.

Dzięki w adavance.

P.S. łańcuch testera jest uspokajający.

    /**
This method will find the longest substring of a given string.
String given here is reassuring. 

 */
public String longestRepeatedSubstring()
{
    String longestRepeatedSubstring = "";
    for (int i = 0; i<text.length(); i++ )
    {
        String one = text.substring(0,i); 

        for(int o = 0; o<text.length();o++)
        {
            Sting two = text.substring(0,o);
            if(one.equals(two))
            {
                longestRepeatedSubstring = one;
            }

        }

    }
    return longestRepeatedSubstring; 
}

questionAnswers(2)

yourAnswerToTheQuestion