LeetCode-笔记-131. 分割回文串
LeetCode-笔记-131. 分割回文串
131. 分割回文串
给你一个字符串 s
,请你将 s
分割成一些子串,使每个子串都是 回文串 。返回 s
所有可能的分割方案。
输入:s = "aab"
输出:[["a","a","b"],["aa","b"]]
输入:s = "a"
输出:[["a"]]
如下图所示:aab先拆成a,ab,在a是回文串的情况下再拆ab,ab可以拆成a,b与ab,ab不是回文串顾舍去,最终得到a,a,b。然后再拆成aa,b。同理拆成aab时aab不是回文串舍去。
class Solution {public:vector<string> vs; //定义字符串容器vector<vector<string>> vvs;//定义二维字符串容器bool isPali(string _s,int start,int end,vector<vector<int>> &mn){//判断是否是回文串,起始位置start,末位置endint i=start;int j=end;while(start<end){if(_s[start]==_s[end]) {start++;end--;}else{mn[start][end]=2;return false;}}mn[i][j]=1;return true;}void dfs(int addr,string s,vector<vector<int>> &mn){//递归,分割字符串,并判断是否是回文串if(addr==s.size()){vvs.push_back(vs);return;}for(int i=addr;i<s.size();++i){//cout<<addr<<"***"<<i<<endl;//cout<<isPali(s,addr,i)<<endl;if(mn[addr][i]==2) continue;if(mn[addr][i]==1||isPali(s,addr,i,mn)){vs.push_back(s.substr(addr, i - addr + 1));dfs(i+1,s,mn);vs.pop_back();}}}vector<vector<string>> partition(string s) {vector<vector<int>> mn(s.size(),vector<int>(s.size(),0));//记忆数组避免重复判断dfs(0,s,mn);return vvs;}
};
LeetCode-笔记-131. 分割回文串相关推荐
- 【python】一道LeetCode搞懂递归算法!#131分割回文串 #以及刷LeetCode的一点点小心得 [数据结构与算法基础]
题目:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串.返回 s 所有可能的分割方案. # 示例 输入: "aab" 输出: [["aa",&q ...
- LeetCode 131. 分割回文串【字符串,回溯算法】
131. 分割回文串 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 .返回 s 所有可能的分割方案. 回文串 是正着读和反着读都一样的字符串. 示例 1: 输入:s = &q ...
- 131. 分割回文串
链接:131. 分割回文串 题解:https://leetcode-cn.com/problems/palindrome-partitioning/solution/hui-su-fa-si-lu-y ...
- Suzy找到实习了吗 Day27 | 回溯进行中:39. 组合总和,40. 组合总和 II,131.分割回文串
39. 组合总和 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 , ...
- LeetCode 131. 分割回文串(回溯)
文章目录 1. 题目 2. 回溯 1. 题目 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 示例: 输入: "aab" 输出: ...
- leetcode 131. 分割回文串 思考分析
题目 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 思考 问题可以分为两个子问题:1.判断回文串2.分割数组 判断回文串 bool isPalin ...
- leetcode 131. 分割回文串(dp+回溯)
给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 .返回 s 所有可能的分割方案. 回文串 是正着读和反着读都一样的字符串. 示例 1: 输入:s = "aab&quo ...
- 131. 分割回文串(回溯算法)
给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 .返回 s 所有可能的分割方案. 回文串 是正着读和反着读都一样的字符串. 示例 1: 输入:s = "aab&quo ...
- 力扣131. 分割回文串(JavaScript)
//同一个组合,需要传入起始位置 var partition = function(s) {let arr=[]let p=[]const dd=function(index){//在某个路径上切割完 ...
最新文章
- Flask的flask-sqlalchemy
- 在Windows中将目录添加到PATH环境变量
- DirectX标准规定 DirectX和OpenGL的不同
- 高效算法——E - 贪心-- 区间覆盖
- HDU 3790 最短路径问题
- (七)整合spring cloud云服务架构 - common-service 项目构建过程
- 中国男足孔已己版(转载,博大家一笑)
- Markdown中插入图片及图注
- cognos 样例 oracle,cognos10.2 sample(ORACLE学样例)
- XML 在SQLServer中的使用
- mybatis字符串转成数字_JavaScript 字符串中的 pad 方法!
- 原生列表table固定表头
- Excel中排序和筛选
- Servlet--监听器
- 影响MRP计算的因素———提前期
- 汽车诊断仪常用特殊功能-ABS排气
- 使用 AccountManager 实现系统内共享账号
- android 定时静音,Android实现定时自动静音小助手
- 【必备算法】动态规划:LeetCode题(六)322. 零钱兑换,518. 零钱兑换 II
- 【小家java】java9新特性(简述十大新特性) 褒贬不一
热门文章
- MPB:地大郭东毅等-一种针对重金属污染土壤的高效DNA提取方法
- ISME:昆士兰大学郭建华组-人造甜味剂会促进细菌耐药性的传播
- MPB:邓晔、王尚等-​环境样本中的细菌总量测定—流式细胞法
- CC讲坛-大脑疾病背后的秘密-许执恒
- 形状相似的物品_废弃物品在体育课中的再利用
- Python使用matplotlib函数subplot可视化多个不同颜色的折线图、为多个子图添加总标题(main title)、自定义设置主标题字体类型、字体大小、字体颜色等
- R假设检验之莫德中位数检验(Mood‘s Median Test)
- 三代测序技术特点比较
- Linux的文件夹及文件的权限
- 使用Bioconda管理生信软件(以bwa为例)