【算法题12 分割回文串】

来源LeetCode 131:

题目:


给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。

返回 s 所有可能的分割方案。

示例:

输入: "aab"
输出:
[
  ["aa","b"],
  ["a","a","b"]
]

解题代码:

 1 class Solution:
 2     def partition(self, s):
 3         """
 4         :type s: str
 5         :rtype: List[List[str]]
 6         """
 7         res=[]
 8         self.dfs(s,[],res)
 9         return res
10     
11     def dfs(self,s,path,res):
12         if not s:
13             res.append(path)
14             return
15         for i in range(1,len(s)+1):
16             if s[:i]==s[i-1::-1]:
17                 self.dfs(s[i:],path+[s[:i]],res)
18                 

 

posted @ 2018-06-03 19:53  Fintech带你飞  阅读(355)  评论(0编辑  收藏  举报