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

06分割回文串 回溯

131. 分割回文串

中等

相关标签

premium lock icon相关企业

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

示例 1:

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

示例 2:

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

提示:

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

class Solution {vector<vector<string>> result;vector<string> path; // 放已经回文的子串void backtracking (const string& s, int startIndex) {// 如果起始位置已经等于s的大小,说明已经找到了一组分割方案了if (startIndex == s.size()) {result.push_back(path);return;}for (int i = startIndex; i < s.size(); i++) {if (isPalindrome(s, startIndex, i)) {   // 是回文子串// 获取[startIndex,i]在s中的子串string str = s.substr(startIndex, i - startIndex + 1);path.push_back(str);} else {                                // 不是回文,跳过continue;}backtracking(s, i + 1); // 寻找i+1为起始位置的子串path.pop_back(); // 回溯过程,弹出本次已经添加的子串}}bool isPalindrome(const string& s, int start, int end) {for (int i = start, j = end; i < j; i++, j--) {if (s[i] != s[j]) {return false;}}return true;}
public:vector<vector<string>> partition(string s) {// result.clear();// path.clear();backtracking(s, 0);return result;}
};
  • 可以抽象成和前面组合问题类似的问题,切割位置由startIdx控制,遇到回文就切(只有是回文才切,并且放入到path中),并且进入下一层递归,直到startIdx指向最后一个元素的下一个位置时,说明已经切完了,这是将path放入结果集里面
http://www.jsqmd.com/news/872063/

相关文章:

  • 一建机电备考笔记(41) 建筑机电施工—给水管道施工1(含考频+题型)
  • 3个核心技巧让电视盒子变身全能媒体中心
  • 2026年株洲黄金回收避坑全攻略,福昌夏等6家平台放心选 - 黄金上门回收
  • Multus 多网卡方案:IPVLAN 模式
  • PoeCharm:流放之路角色构建的完整中文解决方案
  • 万店连锁的底层逻辑:能落地的商业模型,从来都是算出来的
  • Taotoken模型广场功能体验,一站式比较与选择最适合的大模型
  • 紧急!NIST AI RMF v1.1已强制要求Agent可解释性审计:3小时内完成合规适配的4层验证矩阵
  • 【软考中级】2018~2025软件设计师综合知识真题与答案(附带所有考试大纲和资料)
  • 丽水福正美上门回收黄金:大山里的生意经,讲的是“诚”字 - 上门黄金回收
  • 5分钟掌握NHSE:动物森友会存档编辑器的完整使用指南
  • 为什么规范驱动开发也不是银弹
  • 终极指南:如何用Feishin打造完全掌控的个人音乐中心
  • Android Studio 接入 CodeX 的全面指南
  • 构建企业级AI对话平台:Open WebUI部署架构深度解析
  • Windows Redis 7.0 终极安装与配置指南:从零开始掌握高性能内存数据库
  • Get Jobs终极指南:如何用AI自动化工具7天找到理想工作
  • 戴森球计划3000+蓝图库:终极工厂设计指南,让你3分钟搭建高效生产线
  • 2026年深圳日式搬家品牌推荐,这几家服务细节值得留意 - 兔兔不是荼荼
  • 如何从零开始搭建ESP32智能语音助手:xiaozhi-esp32-server完整实战指南
  • openpilot技术交响曲:从机器人操作系统到智能驾驶的数字炼金术
  • postman学习
  • 观察Taotoken用量看板如何清晰展示各模型消耗与费用趋势
  • 如何让AI自动拆解复杂任务并逐步执行?2026年企业级Agent长链路任务闭环实战教程
  • 终极指南:如何用md2pdf实现离线Markdown转PDF的完美转换
  • RuoYiOffice 这类一体化平台如何降低企业系统集成成本
  • taotoken模型广场如何帮助开发者根据任务需求选择合适大模型
  • 2026年沈阳地坪漆厂家怎么挑?多维度解析沈阳地坪漆厂家哪家好 - 兔兔不是荼荼
  • 大型园林景观石供应技术研究与实践
  • ros2 control笔记(还没学完)