首页 > 试题广场 >

分割回文串

[编程题]分割回文串
  • 热度指数:33366 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定一个字符串s,分割s使得s的每一个子串都是回文串
返回所有的回文分割结果。(注意:返回结果的顺序需要和输入字符串中的字母顺序一致。)
示例1

输入

"dde"

输出

[["d","d","e"],["dd","e"]]
头像 华科不平凡
发表于 2020-08-24 19:47:49
引用华科平凡大佬的原话,很精辟: 如要输出所有的解,往往深度优先搜索;如要求出解的个数或最优解,往往动态规划 本题要求输出字符串的所有回文字串组合,因此用深度优先搜索(代码思路同样借鉴了大佬,判断回文的部分简直妙极了): // // Created by jt on 2020/8/23. // 展开全文
头像 muniao94
发表于 2021-09-04 23:00:08
采用递归求解法,将需要分割的字符串分成“前后”两部分,先对“前半”字符串进行判断,若是回文字符串,则采用递归思想对“后半”字符串进行分割。若“前半”字符串不是回文字符串,则增加其长度,继续判断。直至所有情况均被考虑。 c++代码如下: class Solution { public: /** 展开全文

问题信息

难度:
107条回答 34292浏览

热门推荐

通过挑战的用户

查看代码