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

LeetCode 分割回文串

131.分割回文串

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

示例 1:

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

示例 2:

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

提示:

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

解题思路

1、判断回文字符串:双指针+while循环

2、每一个字符后都设想有一个分割点,枚举每个分割点,满足条件就放入temp数组中,然后进行下一次分割

代码

class Solution {
public:vector<vector<string>> partition(string s) {vector<vector<string>> res;vector<string> temp;int index=0;dfs(s,index,res,temp);return res;      }void dfs(string s,int index,vector<vector<string>>& res,vector<string>& temp){if(index>=s.size()){res.push_back(temp);return;}for(int i=index;i<s.size();i++){if(isHW(s,index,i)){temp.push_back(s.substr(index,i-index+1));dfs(s,i+1,res,temp);temp.pop_back();}}}//利用双指针判断回文序列bool isHW(string s,int left,int right){while(left<right){if(s[left]==s[right]){left++;right--;}else{return false;}}return true;}};
http://www.lryc.cn/news/618130.html

相关文章:

  • 增加vscode 邮件菜单
  • 论文阅读(九)Locality-Aware Zero-Shot Human-Object Interaction Detection
  • Openlayers基础教程|从前端框架到GIS开发系列课程(24)openlayers结合canva绘制矩形绘制线
  • iOS 签名证书实践日记,我的一次从申请到上架的亲历
  • Docker-10.Docker基础-自定义镜像
  • 医疗矫正流(MedRF)框架在数智化系统中的深度应用
  • 无人机在环保监测中的应用:低空经济发展的智能监测与高效治理
  • 云平台监控-云原生环境Prometheus企业级监控实战
  • .NET MAUI框架编译Android应用流程
  • 计算机视觉(7)-纯视觉方案实现端到端轨迹规划(思路梳理)
  • 《飞算Java AI:从安装到需求转实战项目详细教学》
  • 解决anaconda打包幻境是报错:ImportError: cannot import name ‘tarfile‘ from ‘backports‘
  • Java多线程基础总结
  • 云原生环境Prometheus企业级监控实战
  • 【编程实践】关于Vscode无法连接Anaconda解译器的问题
  • 手机蓝牙无感开锁在智能柜锁与智能箱包中的整体解决方案
  • MySql——B树和B+树区别(innoDB引擎为什么把B+树作为默认的数据结构)
  • 2025-8-11-C++ 学习 暴力枚举(2)
  • STM32学习笔记7-TIM输入捕获模式
  • 【OpenGL】LearnOpenGL学习笔记06 - 坐标系统、MVP变换、绘制立方体
  • 复杂提示词配置文件
  • Tricentis Tosca:现代软件测试的自动化利器
  • 内存作假常见方案可行性分析
  • MySQL,Redis重点面试题
  • 最短路问题从入门到负权最短路
  • 基于51单片机指纹识别管理门禁密码锁系统设计
  • 集成电路学习:什么是URDF Parser统一机器人描述格式解析器
  • 19.Linux DHCP服务
  • 数据结构:串、数组与广义表
  • 【Leetcode】随笔