利用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
相关文章推荐
- 利用python 完成 leetcode 166 分数到小数
- 利用python 完成 leetcode 168 Excel表列名称
- 利用python 完成 leetcode 149 直线上最多的点数
- 利用python 完成 leetcode 483 最小好进制
- 利用python 完成 leetcode127 单词接龙
- 利用python 完成 leetcode 312 戳气球
- 利用python 完成 leetcode 138 复制带随机指针的链表
- 利用python 完成 leetcode228 汇总区间
- 【LeetCode】#131分割回文串(Palindrome Partitioning)
- 利用python 完成 leetcode126 单词接龙 II
- 利用python 完成 leetcode 135 分发糖果
- 利用python 完成 leetcode 179 最大数
- 利用python 完成 leetcode 165 比较版本号
- 利用python 完成 leetcode 198 打家劫舍
- 利用python 完成 leetcode 17 电话号码的字母组合
- 利用python 完成 leetcode 213 打家劫舍 II
- 利用python 完成 leetcode 216 组合总和 III
- 利用python 完成 leetcode 32 最长有效括号
- leetcode131.分割回文串
- 利用python 完成 leetcode 209 长度最小的子数组