您的位置:首页 > 编程语言 > Python开发

利用python 完成 leetcode131 分割回文串

2019-03-02 23:21 337 查看

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

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

示例:

输入: “aab”
输出:
[
[“aa”,“b”],
[“a”,“a”,“b”]
]
思路
用i遍历数组各个位置,如果s[:i]为回文串,则对后半部分进行递归,将返回的结果中每一项加上s[:i]并将该项添加至最终结果
代码

def partition(self, s):
if(s==''):return []
e=[]
if(s==s[::-1]):e.append([s])
for i in range(len(s)):
if(s[:i+1]==s[i::-1] ):
p=self.partition(s[i+1:])
for c in p:
if(c!=[]):e.append([s[:i+1]]+c)

return e
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: