179 - 131 分割回文串
Last updated
Last updated
class Solution:
def partition(self, s: str) -> List[List[str]]:
res = []
def backtrack(s, tmp): # s是剩余选择,tmp是已走路径
if not s: # 没有选择了,就推进结果里面
res.append(tmp)
return
for i in range(1, len(s)+1):
if s[:i] == s[:i][::-1]: # 就是判断s[:i]是不是回文,[::-1]查了才知道还能这么玩,这下都不用回滚选择了。。
backtrack(s[i:], tmp+[s[:i]])
backtrack(s, []) # 两个变量都是通过参数传递,就不用新建
return res