131. 分割回文串(中等,字串)(12.25)
阿新 • • 發佈:2019-01-05
給定一個字串 s,將 s 分割成一些子串,使每個子串都是迴文串。
返回 s 所有可能的分割方案。
示例:
輸入: "aab" 輸出: [ ["aa","b"], ["a","a","b"] ]
class Solution(object): def partition(self, s): """ :type s: str :rtype: List[List[str]] """ self.res = [] self.temp = [] def sub_partition(string): if string == string[::-1]: #到了盡頭,加入到結果 self.temp.append(string) self.res.append(copy.copy(self.temp)) #淺拷貝 self.temp.pop() for i in range(1,len(string)): a = string[:i] if a == a[::-1]: self.temp.append(a) sub_partition(string[i:]) self.temp.pop() sub_partition(s) return self.res
執行用時: 112 ms, 在Palindrome Partitioning的Python提交中擊敗了91.78% 的使用者