Leetcode 131.分割回文串
1 题目描述(Leetcode题目链接)
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。
返回 s 所有可能的分割方案。
输入: "aab"
输出:
[
["aa","b"],
["a","a","b"]
]
2 题解
比较标准的回溯,递归实现。
class Solution:
def partition(self, s: str) -> List[List[str]]:
res = []
n = len(s)
def backtrack(li, i):
if i == n:
res.append(li)
return
pal = ""
for j in range(i, n):
pal += s[j]
if pal == pal[::-1]:
backtrack(li + [pal], j+1)
backtrack([], 0)
return res