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

【代码随想录day 22】 力扣 131.分割回文串

视频讲解;https://www.bilibili.com/video/BV1c54y1e7k6/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/0131.%E5%88%86%E5%89%B2%E5%9B%9E%E6%96%87%E4%B8%B2.html#%E6%80%9D%E8%B7%AF
力扣题目:https://leetcode.cn/problems/palindrome-partitioning/

在这里插入图片描述
这道题主要思路如下:

  1. 遍历字符串,将遍历的stattIndex抽象成切割的位置,如果从startIndex到当前位置是回文子串,用substr切割,如果不是直接跳过。
  2. 当startIndex遍历到字符串末尾时代表结束,path存入result数组中。
  3. 在遍历过程中,只有回文子串才会一直执行代码,如果不是,直接跳过不会执行代码,更不会往result中存入path。
  4. 在判断回文子串的过程中,如果暂时不是回文子串不能直接ruturn,要继续切割,比如efe,如果切割ef和e他不是回文子串,但是efe是回文子串,所以如果不是回文子串,要用continue继续执行代码。
class Solution {
private:vector<string> path;vector<vector<string>> result;void backtracking( const string &s, int startindex){//判断终止条件if(startindex == s.size()){result.push_back(path);return;}//单层遍历for(int i = startindex; i<s.size();i++){//判断切割点之前是否是回文子串if(isPalindrome(s, startindex, i)){//substr函数截取字符串string str = s.substr(startindex, i - startindex + 1);path.push_back(str);}else continue;//遍历backtracking(s, 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;}
};
http://www.dtcms.com/a/364162.html

相关文章:

  • 数据结构——树(03二叉树,与路径有关的问题,代码练习)
  • MySQL-表的约束(上)
  • 英伟达Jetson Orin NX-YOLOv8s目标检测模型耗时分析
  • 写论文先卡骨架再卡内容?一周出初稿爽翻!AI 帮我把骨架搭得明明白白,填内容超顺
  • 零样本视觉模型(DINOv3)
  • 从静态到智能:用函数式接口替代传统工具类
  • 作物改良中的综合生物技术与人工智能创新--文献精读160
  • github添加SSH密钥
  • 使用 Python 的 SymPy 进行符号计算
  • XMind2025(思维导图)下载安装教程
  • Linux 内核定时器实验
  • 2025年IT行业大学生证书选择指南
  • 机器学习:从技术原理到实践应用的深度解析
  • Steam开发者上架游戏完整指南(含具体技术细节)
  • 代码随想录---动态规划篇
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘black’问题
  • Java 大视界 --Java 大数据在智能教育学习资源整合与知识图谱构建中的深度应用(406)
  • 从Win10强制升级到Win11
  • 【数据结构探秘】手把手用单链表实现增删查改:一篇面向 C 程序员的实战指南
  • 【数通那些事】Vlan基础
  • 2025年- H109-Lc217--658. 找到 K 个最接近的元素(双指针+二分)--Java版
  • 当合规成为主旋律,PSP 如何推动链上消费市场迈向新蓝海?
  • 9月2日
  • Scikit-learn从入门到实践
  • Xcode 编译速度慢是什么原因?如何提高编译速度?
  • 英伟达Jetson Orin NX-YOLOv8n图像分类模型耗时分析
  • 《浪浪山小妖怪》知识竞赛来袭!测测你是几级影迷?
  • Java试题-选择题(29)
  • 天心:天下为公的君子之道
  • 多人协作修改文档时如何避免内容丢失