博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode131. Palindrome Partitioning(思路及python解法)
阅读量:2241 次
发布时间:2019-05-09

本文共 792 字,大约阅读时间需要 2 分钟。

Given a string s, partition s such that every substring of the partition is a palindrome.

Return all possible palindrome partitioning of s.

Example:

Input: "aab"Output:[  ["aa","b"],  ["a","a","b"]]

记录所有一个字符串经过拆分后,全部被拆分字符串全部回文的结果。

这道题还是用dfs算法求解。

isPart判断是否回文,self.res存储所有结果。

if not s表示遍历完字符串而且path中的字符串都是回文的。(因为不是回文的就不会进入到dfs递归当中)

还有记得return

注意path是list,在加字符串的时候需要转为list。

class Solution:    def partition(self, s: str) -> List[List[str]]:        self.res=[]        self.dfs([],s)        return self.res        def dfs(self,path,s):        if not s:            self.res.append(path)            return        for i in range(1,len(s)+1):            if self.isPart(s[:i]):                self.dfs(path+[s[:i]],s[i:])                def isPart(self,s):        if s==s[::-1]:            return True

 

转载地址:http://rcrbb.baihongyu.com/

你可能感兴趣的文章
oracle 的 SDO_GEOMETRY
查看>>
往oracle中插入geometry的两种方式
查看>>
Oracle Spatial中的Operator操作子 详细说明
查看>>
Oracle Spatial中SDO_Geometry详细说明
查看>>
oracle 聚合函数 LISTAGG ,将多行结果合并成一行
查看>>
Oracle列转行函数 Listagg() 语法详解及应用实例
查看>>
LISTAGG函数的用法
查看>>
Oracle Spatial操作geometry方法
查看>>
IDEA类和方法注释模板设置(非常详细)
查看>>
Java程序初始化的顺序
查看>>
Dubbo和Spring结合配置文件内容解析为bean的过程
查看>>
fastJson注解@JSONField使用的一个实例
查看>>
fastjson的@JSONField注解的一点问题
查看>>
fastjson使用(三) -- 序列化
查看>>
浅谈使用单元素的枚举类型实现单例模式
查看>>
Java 利用枚举实现单例模式
查看>>
Java 动态代理作用是什么?
查看>>
Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM) (清晰,浅显)
查看>>
三种线程安全的单例模式
查看>>
Spring AOP 和 动态代理技术
查看>>