题解 | #最长回文子串#
最长回文子串
http://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507
- 暴力解法:最长对称子串起始位置可能0-(len(s)-1), 分别计算其最大对称子串取最大值
- 优化:既然知道起始位置,那么从最大长度反向遍历,只要出现对称子串,那就是该起始位置最大对称子串,这样就可以提前退出。
while True:
try:
s, c = input(), 1
for i in range(len(s)):
for j in range(len(s), i, -1):
if s[i:j] == s[i:j][::-1]:
c = max(len(s[i:j]), c)
break
print(c)
except:
break