要注意的是,这里说的最长重复子串是可以重合的,如abcabcabc中,这里说的最长重复子串是abcabc,而不是abc。 这题的思路就是,得到字符串的后缀数组并将其排序,再依次检测相邻两个字符串的前缀取最长的就行: # -*- coding:utf-8 -*- __author__ = 'ShawDa' class Solution: def findLongestSubstring(self, string): if not string or len(string)