题目简介:
你会得到一个字符串 text
。你应该把它分成 k
个子字符串 (subtext1, subtext2,…, subtextk)
,要求满足:
subtexti
是 非空 字符串- 所有子字符串的连接等于
text
( 即subtext_1 + subtext_2 + ... + subtext_k == text
) - 对于所有 i 的有效值( 即
1 <= i <= k
) ,subtext_i == subtext_{k - i + 1}
均成立
返回k
可能最大值。
示例 1:
1 | 输入:text = "ghiabcdefhelloadamhelloabcdefghi" |
提示:
1 <= text.length <= 1000
text
仅由小写英文字符组成
思路:
从字符串两端开始寻找最短的相同的前后缀,若找到,则答案数+2,并递归剩余的字符串。
若找不到,则将剩余的字符串整体当做一个回文段,答案+1。
tip:
- 若
texx.size() == 0
,直接return 0
。
代码如下:
1 | class Solution { |