输入:s = "aab"
输出:1
解释:只需一次分割就可将 s 分割成 ["aa","b"] 这样两个回文子串。
示例 2:
输入:s = "a"
输出:0
示例 3:
输入:s = "ab"
输出:1
提示:
1 <= s.length <= 2000
s 仅由小写英文字母组成
## template
```python
class Solution:
def minCut(self, s):
size = len(s)
is_palindrome = [[False] * size for _ in range(size)]
for r in range(size):
for l in range(r, -1, -1):
if s[l] == s[r] and (r - l <= 2 or is_palindrome[l + 1][r - 1]):
is_palindrome[l][r] = True
dp = [i for i in range(size)]
for i in range(1, size):
if is_palindrome[0][i]:
dp[i] = 0
else:
dp[i] = min(dp[j] + 1 for j in range(i) if is_palindrome[j + 1][i])
return dp[-1]
```
## 答案
```python
```
## 选项
### A
```python
```
### B
```python
```
### C
```python
```