§04 串
最长回文子串
中心扩展法:枚举每个中心向两侧扩展,记录最长回文。
Manacher 回文串
伪代码
1
// 最长回文子串(中心扩展法)
2
best ← ""
3
for 每个中心 (奇中心 i 与偶中心 i, i+1 间隙) do
4
l ← 中心; r ← 中心
5
while 0 <= l-1 && r+1 < n && text[l-1] == text[r+1] do
6
l--; r++ // 向两边扩展
7
if len(text[l..r]) > best.length: best ← text[l..r]
8
end while
9
end for