首页 > 代码库 > [leetcode]Palindrome Partitioning @ Python
[leetcode]Palindrome Partitioning @ Python
原题地址:https://oj.leetcode.com/problems/palindrome-partitioning/
题意:
Given a string s, partition s such that every substring of the partition is a palindrome.
Return all possible palindrome partitioning of s.
For example, given s = "aab"
,
Return
[ ["aa","b"], ["a","a","b"] ]
解题思路:回文的分割问题。同样是需要穷举出所有符合条件的集合,那么我们还是使用dfs。
代码:
class Solution: # @param s, a string # @return a list of lists of string def isPalindrome(self, s): for i in range(len(s)): if s[i] != s[len(s)-1-i]: return False return True def dfs(self, s, stringlist): if len(s) == 0: Solution.res.append(stringlist) for i in range(1, len(s)+1): if self.isPalindrome(s[:i]): self.dfs(s[i:], stringlist+[s[:i]]) def partition(self, s): Solution.res = [] self.dfs(s, []) return Solution.res
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。