Suffix Tree using Ukkonen's algorithm:
1)Generalized suffix tree in O(nk) and finding pattern in all input strings.
2)Finding longest substring repeated at least k times in string in linear time.
3)Finding longest common substring (LCS) between at least k of the input strings in linear time.
4)Finding longest palindrome substring in a given string.