给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。
返回 s 所有可能的分割方案。
示例:
输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ]
class Solution:
def partition(self, s: str) -> List[List[str]]:
res = []
self.dfs(s,[],res)
return res
def dfs(self,s,path,res):
if s == s[::-1]:
path.append(s)
res.append(path[:])
path.pop()
for i in range(1,len(s)):
a = s[:i]
if a == a[::-1]:
path.append(a)
self.dfs(s[i:],path,res)
path.pop()