Advertisement

LeetCode上的 longest substring problems

阅读量:

leetcode-1044 最长重复子串

题目描述
设有一个字符串 S,需分析其所有重复子串(即 S 中的连续子串,至少出现两次,且允许存在重叠的情况)。
请返回任意一个长度最长的重复子串。(若字符串 S 中不存在重复子串,则输出 “”。)
举例说明

复制代码
    输入:"banana"
    输出:"ana"
    
    
      
      
    
复制代码
    输入: "dfgdsfsfdfgj"
    输出:  "dfg"
    
    
      
      
    

思路:
首先考虑到的是循环结构,即如何在相等的位置使程序停止,对于稍微复杂一点的问题,需要仔细思考。接下来的思路是采用一个外层循环来控制内层循环对外层循环的加数,这样可以在循环过程中先进行加一操作,并持续增加直到前一个值和后一个值相等时出现,此时记录当前的数值,并通过比较大小得出最终结果。
说实话,第一天并没有写出正确的代码,思考了很久如何实现,但有些地方始终无法理顺。到了第二天,感觉思路已经差不多了,在参考了一位高手的解答后,发现其思路与我的想法非常接近,于是将其记录下来。
此代码原地址

复制代码
    public static String maxString(String

全部评论 (0)

还没有任何评论哟~