一、回文问题族全景
Mermaid · 渲染中(下方为源码)
graph LR P[回文问题] --> C[连续: 中心扩展/Manacher] P --> S[不连续: 区间DP] P --> N[计数: 中心扩展] P --> D[分割: 回溯]
回文是面试中出现频率极高的主题,核心题目共享"对称性"这一结构特征:
| 题目 | 问题 | 最优解法 |
|---|---|---|
| LC 5. 最长回文子串 | 找最长的连续回文 | 中心扩展 O(n²) / Manacher O(n) |
| LC 516. 最长回文子序列 | 找最长的不连续回文 | 区间 DP O(n²) |
| LC 647. 回文子串 | 统计回文子串个数 | 中心扩展 O(n²) |
| LC 131. 分割回文串 | 切成若干回文段 | 回溯 + 预处理 |
| LC 132. 分割回文串 II | 最少切几刀 | DP on 回文判定表 |
关键区分:子串(连续)vs 子序列(不连续),解法完全不同。
二、LC 5:最长回文子串
2.1 中心扩展法
回文的定义天然适合"从中心向两边扩展":
- 奇数长度回文:中心是 1 个字符
- 偶数长度回文:中心是 2 个字符之间
共 个中心,每个中心最多扩展 O(n) 次。