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