UkkonenLCS Longest Common Substring Java Implementation Using Ukkonen's Algorithm I ultimately designed my own classes for this problem. However, for building the tree itself, I referenced these following pages for the logic: Suffix Tree Application 5 - Longest Common Substring GeeksforGeeks Ukkonen's Suffix Tree in Plain English Ukkonen's Suffix Tree Construction