定义重复字符串是由两个相同的字符串首尾拼接而成。例如:"abcabc" 是一个长度为 6 的重复字符串,因为它由两个 "abc" 串拼接而成;"abcba" 不是重复字符串,因为它不能由两个相同的字符串拼接而成。
给定一个字符串,请返回其最长重复子串的长度。
若不存在任何重复字符子串,则返回 0。
本题中子串的定义是字符串中一段连续的区间。
数据范围:字符串长度不大于 ,保证字符串一定由小写字母构成。
进阶:空间复杂度 ,时间复杂度
"ababc"
4
abab为最长的重复字符子串,长度为4
"abcab"
0
该字符串没有重复字符子串
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # @param a string字符串 待计算字符串 # @return int整型 # class Solution: def solve(self , a ): # write code here res = 0 if not a&nbs***bsp;len(a)<2: return 0 l = len(a) for i in range(l//2, 0, -1): # 这段字符串可能的长度 for j in range(l-i): # 第一个字符串可能的起点 if a[j]==a[i+j]: res+=1 else: res = 0 if res == i: return i*2 return 0