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

视频讲解:https://www.bilibili.com/video/BV1c54y1e7k6

posted @ 2024-02-05 00:24  o蹲蹲o  阅读(2)  评论(0编辑  收藏  举报