1.题目详情
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。
返回 s 所有可能的分割方案。
2.解题思路
没做出来,题解的回溯法看懂了。
3.代码实现
class Solution:
def partition(self, s: str) -> List[List[str]]:
res = []
def helper(s, tmp):
if not s:
res.append(tmp)
for i in range(1, len(s) + 1):
if s[:i] == s[:i][::-1]: # 符合回文串样式,反转后同
helper(s[i:], tmp + [s[:i]])
helper(s, [])
return res
4.知识点
回溯法