当前位置: 首页 > news >正文

分割回文串(dfs)

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

示例 1:

输入:s = "aab"
输出:[["a","a","b"],["aa","b"]]

示例 2:

输入:s = "a"
输出:[["a"]]

提示:

  • 1 <= s.length <= 16
  • s 仅由小写英文字母组成

class Solution {public List<List<String>> partition(String s) {List<List<String>> res = new ArrayList<>(); // 存所有结果List<String> a = new ArrayList<>();  //一个切割方案dfs(s,0,a,res);return res;}void dfs(String s,int bg,List<String> a, List<List<String>> res){if(bg == s.length()){res.add(new ArrayList<>(a));return;}for(int i=bg; i<s.length(); i++){if(is(s,bg,i)){a.add(s.substring(bg,i+1)); // 加入当前分割结果dfs(s,i+1,a,res); // 递归处理剩余部分a.remove(a.size()-1); // 回溯:撤销选择}}}boolean is(String s, int l ,int r){while(l<r){if(s.charAt(l++)!=s.charAt(r--)){return false;}}return true;}
}

substring(a, b) 语法表示:

返回原字符串中 从索引 a 开始(包含 a)到索引 b 结束(不包含 b) 的子串

它是“左闭右开”区间

a.remove(a.size() - 1);
删除列表 a 中的最后一个元素。

http://www.dtcms.com/a/453575.html

相关文章:

  • 第二十二章:记忆封存,时光回溯——Memento的备忘录艺术
  • Spring Framework源码解析——ApplicationContextAware
  • 30个做设计的网站wordpress远程图片下载
  • 建网站权威机构西安专业网站建设服务
  • Express+Vue表格数据分页联调:模拟数据与真实接口的无缝切换
  • Qt 多线程与并发编程详解
  • 第五个实验——动态nat地址转换操作
  • 排查 TCP 连接中 TIME_WAIT 状态异常
  • 《C++ 实际应用系列》第二部分:内存管理与性能优化实战
  • 登建设厅锁子的是哪个网站祥云平台网站管理系统
  • 浙江省建设厅网站在哪里手机网站制作招聘
  • nat server 概念及题目
  • 试看30秒做受小视频网站深圳外贸网站制作
  • 网站营销推广怎么做网络营销推广网站建设关于公司怎么写
  • 【AI】专访 Braintrust CEO Ankur Goyal:为什么 AI 评测是产品 prototype 走向生产的唯一桥梁?
  • 大模型文生图和语音转换的调用以及向量和向量数据库RedisStack.
  • 做代练去什么网站安全合肥网站seo整站优化
  • 网站案例展示怎么做桂电做网站的毕设容易过嘛
  • QT-常用控件(一)
  • 网站开发选asp还是hph网站域名解析步骤
  • AI行业应用深度解析:从理论到实践的跨越
  • DeepMind 和罗光记团队 推出“帧链”概念:视频模型或将实现全面视觉理解
  • 外贸圈阿里巴巴微信seo什么意思
  • 【专业词汇】元认知
  • 有什么网站开发软件网页棋牌开发
  • Flutter与Dart结合AI开发实战
  • Easyx使用(数据可视化)
  • 基于单片机的大货车防偷油系统设计
  • JavaScript:神奇的ES6之旅
  • 延吉网站开发公司特别好的企业网站程序