day27 代码随想录算法训练营 131. 分割回文串
题目:131. 分割回文串
我的感悟:
- 路漫漫其修远兮,吾将上下而求索。
理解难点:
- 听视频是个难点,哈哈。
- 看代码,先抄一遍,再在leetcode敲一遍。就好一些
代码难点:
我理解后的代码:
class Solution:
def partition(self, s: str) -> List[List[str]]:
res = []
self.backtracking(s,0,[],res)
return res
def backtracking(self,s,start_index,path,res):
# 1.终止条件
if start_index == len(s): # 纵向走到结束了
res.append(path[:])
return
# 2.核心循环
for i in range(start_index,len(s)):
# 3.多了一层判断
if s[start_index:i+1] == s[start_index:i+1][::-1]:
path.append(s[start_index:i+1]) # 注意不是path.append(i) # 不是求索引
self.backtracking(s,i+1,path,res)
path.pop()
else: # 如果不是回文串就跳过这组
continue
通过截图:
扩展写法:
资料:
本题较难,大家先看视频来理解 分割问题,明天还会有一道分割问题,先打打基础。
https://programmercarl.com/0131.%E5%88%86%E5%89%B2%E5%9B%9E%E6%96%87%E4%B8%B2.html