Leetcode 131

Question

Solution

考虑对字符串进行逆序。用来切片并且逆序比较难以判断,阅读起来比较复杂,可以先切片后逆序,即来替代。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution:
def partition(self, s: str) -> List[List[str]]:
results = []
self.dfs(s, [], results)
return results

def dfs(self, s, temp, results):
if not s:
results.append(temp)
return

for i in range(1, len(s)+1):
if self.isPal(s[:i]):
self.dfs(s[i:], temp+[s[:i]], results)

def isPal(self, s):
return s == s[::-1]