lintcode-136-分割回文串

news/2024/7/6 1:06:51

136-分割回文串

给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。
返回s所有可能的回文串分割方案。

样例

给出 s = "aab",返回
[
["aa", "b"],
["a", "a", "b"]
]

标签

回溯法 深度优先搜索

思路

使用回溯和递归

code

class Solution {
public:/*** @param s: A string* @return: A list of lists of string*/vector<vector<string>> partition(string s) {// write your code hereint size = s.size();if(size <= 0) {return vector<vector<string> >();}vector<vector<string> > result;vector<string> temp;partition(s, 0, temp, result);return result;}void partition(string s, int current, vector<string> &temp, vector<vector<string> > &result) {if(current == s.size()){result.push_back(temp);return;}for(int i=current; i<s.size(); i++) {if(isPalindrome(s, current, i)) {temp.push_back(s.substr(current,i-current+1));partition(s, i+1, temp, result);temp.pop_back();}}}bool isPalindrome(string s, int begin, int end) {for(int i=begin, j=end; i<j; i++, j--) {if(s[i] != s[j]) {return false;}}return true;}
};

转载于:https://www.cnblogs.com/libaoquan/p/7222096.html


http://lihuaxi.xjx100.cn/news/226113.html

相关文章

如何在ASP.Net 中把图片存入数据库

介绍 可能有很多的时候&#xff0c;我们急需把图片存入到数据库当中。在一些应用程序中&#xff0c;我们可能有一些敏感的资料&#xff0c;由于存储在文件系统&#xff08;file system&#xff09;中的东西&#xff0c;将很容易被某些用户盗取&#xff0c;所以这些数据不能存…

vs2008 外部调用ActiveX控件接口方法

转自&#xff1a;http://topic.csdn.net/u/20090605/16/018e26e9-06e2-4e0d-8099-bc8eb326afde.html sndaxdrs: 初学activeX &#xff0c;我写的一个 activeX控件测试程序。 分别调用两个 自定义方法&#xff0c; 分别出现 “找不到成员”&#xff0c;和“非选择性的参数”的提…

MySQL闪退问题的解决

刚刚学习了数据库&#xff0c;并且安装了MySQL&#xff0c;正当高兴之余&#xff0c;发现我的MySQL出现了闪退的显现。上网搜了好久的解决方案。最后解决了这个问题&#xff0c;也舒心了。 问题从这里开始&#xff1a; 接着我打开MySQL&#xff0c;寻思能不能用&#xff0c;结果…

asp.net中显示DataGrid控件列序号的几种方法

在aps.net中多数据绑定的控件很多&#xff0c;论功能来说&#xff0c;应该属DataGrid最为齐全&#xff0c;但它没有提供现成的显示记录序号的功能&#xff0c;不过我们可以通过它所带的一些参数来间接得到序号&#xff0c;下面来看看怎样得到和显示序号值计算方式如下&#xff…

vs2008部署问题

转自&#xff1a;http://tangxingqt.blog.163.com/blog/static/2771087220098214755269/ 参考资料 1、VS2005解决"应用程序配置不正确&#xff0c;程序无法启动"问题 2、VS2005安装文件 "由于应用程序配置不正确&#xff0c;应用程序未能启动" 3、Micro…

centos java yum_CentOS7 使用yum命令安装Java SDK

CentOS 6.X 和 7.X 自带有OpenJDK runtime environment (openjdk)。它是一个在linux上实现开源的Java 平台。安装方式&#xff1a;1、输入以下命令&#xff0c;以查看可用的JDK软件包列表;yum search java | grep -i --color JDK2、在CentOS linux安装 JAVA SDK在命令行终端以…

2016-2017-2软件工程课程总结

2016-2017-2软件工程课程总结 本学期的软件工程课程终于在大家的共同努力下圆满落幕了&#xff0c;我们的暑假也正式开启&#xff0c;终于有时间写写这门课的总结了。 在2016年下半学期末的时候课程组就决定使用邹欣老师的书《构建之法》&#xff0c;由课程组长王瑞老师带领入构…

在vs2008中配置OpenCV2.2

1、下载OpenCV2.2&#xff1a;http://www.opencv.org.cn/index.php/Download 2、下载后解压缩OpenCV-2.2.0-win.zip&#xff1b; 3、下载CMake&#xff1a;http://www.cmake.org/cmake/resources/software.html 4、安装CMake&#xff1b; 5、运行cmake-gui&#xff0c;在wh…